Transcript
![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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051809/600f5b76b2ea69412c1b1672/html5/thumbnails/16.jpg)
THANKS!@MARCINKUPTEL