How to begin with "Made Tech Flavour Clean Architecture".
This style of architecture has carried many names, which include "Hexagonal", "Ports & Adapters" and "Boundary-Control-Entity".
Deliberate practice is the best way to learn Clean Architecture.
(Work-in-progress)
- The Mindset
- Start with Acceptance Testing
- Writing Fake Gateways
- Use Cases organise your code
- Constructors are for collaborators
- Do not leak your internals
- TDD everything
- Build in a reliable dependency upgrade path
- Your first Real Gateway
- Your first Delivery Mechanism
- Presenters are more flexible
- Keep your wiring DRY
- Extend Use Case behaviour with Domain objects
- Extracting a Use Case from a Use Case
- Authentication
- Authorisation
- Consider the Actors
- Substitutable Use Cases
- Feature Toggles
- Keep your Domain object construction DRY
Clean Architecture by Robert C. Martin is very close to
- BCE by Ivar Jacobson, and
- Hexagonal Architecture by Alistair Cockburn. Hexagonal Architecture is also called Ports & Adapters.
The Made Tech Flavour differs again from the Clean Architecture book by Robert C. Martin. Made Tech renames some of the basic concepts on purpose, for three reasons:
- A junior developer learns the concepts faster
- The name "Use Case" connects the object to a Use Case Analysis session. Robert C. Martin calls the same object an Interactor.
- The name "Domain" keeps Domain-Driven Design in view, and asks the reader what a Domain object is.
- The name "Domain" avoids a clash with the EntityFramework Entity. Robert C. Martin calls a Domain object an Entity.
Made Tech Flavour Clean Architecture is more prescriptive than any of these other examples