This repository intents to sumarize the basis of Clean Architecture, to get a quick overview of concepts or a document to come back if you have any doubts.
- Clean Architecture - by Robert C. Martin
- Agile Software Development, Principles, Patterns and Practices - by Robert C. Martin
- Object-Oriented Software Engineering: A Use Case Driven Approach - Ivar Jacobson
- Clean Architectures in Python
- Bottom-up organization, start from first modules if you want to learn from scratch.
- A basic understanding of programming concepts will be helpful but is not needed
- Each module ends with a "Conclusion" section that provides a quick overview, you can jump straight to this if you want a quick reminder and you feel like you already know the topic.
- I strongly recommend further research on the latest and more practical modules, as I don't provide lots of examples but more the theorical basis you need, be proactive.
- Introduction
- Design and Architecture
- Behavior and Structure
- Paradigms Overview
- Design Principles
- SOLID
- Single-Responsibility
- Open-Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
- SOLID
- Components Principles
- Components Cohesion
- Reuse/Release Equivalence
- Common Closure
- Common Reuse
- Components Coupling
- Acyclic Dependencies
- Tow-down Design
- Stable Dependencies
- Stable Abstractions
- The Main Sequence
- Components Cohesion
- Architecture
- Details