Libraries
Frameworks
MVC
Tools . . .
Complex
Incoherent
Rigid
Untestable
Unmaintainable
Simple
Understandable
Flexible
Testable
Maintainable
Clean architecture is a software design philosophy that separates the elements of a design into ring levels.
"Good architecture screams their intended usage."
Levels of abstraction
Single-responsibility
Insolate roles and skills
Multiple Implementations
Varying rates of change
Customer
Membership Interface
Boom
Linio plus
Cart
Shipping
SOLID
Dependency inversion
https://blog.cleancoder.com/
"Clean Architecture: Patterns, Practices, and Principles" by Matthew Renze on pluralsight