Clean Architecture conclusion
Clean Architecture conclusion
We barely scratched the surface when it comes to iOS application architecture. In fact, if we were to mention everything that goes into architecture (OOP, SOLID, CLEAN, KISS, DRY, YAGNI, Dependency Injection, Protocol-Oriented Programming) we would have an entire book.
The point is that software architecture is something that takes time to master. It is perfectly normal to look at what we just explained and feel overwhelmed. It takes time and deliberate practice to get better at understanding how good software is designed.
One thing that is important to mention is that there is no “one” architecture that is shared across projects. Each has their own specific use cases and particularities, and sometimes, we have to deal with software that has not been well designed at all. And although there might be dozens of different implementations, good software architecture is built on the same principles - readable, consistent and testable code.
In the meantime, I invite you to dive deeper into the topic of software architecture:
- Clean Architecture by Robert C. Martin (Uncle Bob)
- Clean Code by Robert C. Martin (Uncle Bob)
Also, a list of topics for self-study:
- Modularizing your features with Swift Packages;
- Dependency Injection using Swift;
- Protocol-Oriented Programming using Swift;
- Unit Testing;