Clean Architecture Principles • Entities representing enterprise business rules. • Use cases of the software. • Adapters to be decoupled from boundaries. • Platform/Framework as a delivery mechanism. • Data mapping.
Clean Architecture Conclusion “Conforming to these simple rules is not hard, and will save you a lot of headaches going forward. By separating the software into layers, and conforming to The Dependency Rule, you will create a system that is intrinsically testable, with all the benefits that implies. When any of the external parts of the system become obsolete, like the database, or the web framework, you can replace those obsolete elements with a minimum of fuss.” - Robert C. Martin
Rules: • Do not start coding until you understand the requirements. • Do not start coding without thinking in the most important part of the domain. • Today your notebook is more important than your laptop. • Think carefully the patterns and responsibilities associated to every class.
Kata Contacts • Command line application to handle your agenda. • All the data is local but in the future will consume an external API. • The user can add a contact. • The user can list all the contacts already added.