CleanArchitecture
CleanArchitecture copied to clipboard
Screaming Architecture
I'll quote from the book. Chapter 21. Screaming Architecture:
So what does the architecture of your application scream? When you look at the top-level directory structure, and the source files in the highest-level package, do they scream “Health Care System,” or “Accounting System,” or “Inventory Management System”? Or do they scream “Rails,” or “Spring/Hibernate,” or “ASP”?
Looking at the domain package's src directory. We'll see these directories:
- annotation
- exception
- model
- repository
- usecase
It screams "Blogger's Clean Architecture". It doesn't scream what this app does. Is it a note app? Is it a blogging app? It does have owner and contributor in model. The top directory separate by types not by features.