If we:
We end up with a happy lasagne, in which every small change to a layer reverberates throughout the layers
You should try to organize code by components e.g. Product, Payment, Checkout
Introduced as an attempt to avoid common problems with the layered architecture
Common problems such as:
This makes the layers harder to replace and the app harder to test.
Doesn't really add any new concepts on top of Hexagonal & Onion
Just repeats the same with some different terms
Explicitly formalizes some implicit rules and the flow of a request with the diagram at the corner
lets discuss