CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces...

16
CLEAN ARCHITECTURE IN SWIFT MARCIN KUPTEL

Transcript of CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces...

Page 1: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

CLEAN ARCHITECTURE

IN SWIFTMARCIN KUPTEL

Page 2: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

WE'VE ALL BEEN THERE ...

Page 3: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

RECOGNIZE THE PROBLEM

Page 4: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

WHAT IS CLEAN ARCHITECTURE?

Page 5: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

OVERVIEW

Page 6: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

VIEW CONTROLLER

Page 7: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

PRESENTER

Page 8: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

ROUTER

Page 9: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

INTERACTOR

Page 10: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

GATEWAY

Page 11: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

ONE STEP FUTHER

Page 12: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

CONCRETE EXAMPLE

Page 13: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

WHAT WE GET

> A recognizable structure> Well defined responsibilities

> Modularity> Easy testing

Page 14: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

WHAT TO BEAR IN MIND

> Can be an overkill for smaller projects> Requires a large number of classes

Page 15: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

REFERENCES

> https://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

> https://www.objc.io/issues/13-architecture/viper/> http://alistair.cockburn.us/Hexagonal+architecture

Page 16: CLEAN ARCHITECTURE IN SWIFT · The Clean Architecture Controllers Use Cases Entities DB Interfaces Web Enterprise Business Rules Application Business Rules Interface Adapters Frameworks

THANKS!@MARCINKUPTEL