orangehacker2
> The main benefit, and the whole point, of layered architectures is to ensure the software architecture to simplify modifying/updating the bits that change very frequently and stabilize and minimize the need the fundamental bits that only rarely need to be touched.
The thing is - "onion/hexagonal/clean" architectures and "layered architecture" are not the same things.
Of course layers are fundamental - nobody questions them. What I do question, are 3 mentioned architectures.
For example MVC is also a layered architecture, and in many cases it works great. It allows the same level of testability as hexagonal architecture, but with less boilerplate and indirection. It is great for building websites like this forum.
You don't need hexagonal architecture to test the code api.
Layered architecture will do the job!
CQRS is another story, it is relatively widely used and very handy in certain scenarios.
Is LINE Pay designed in a form of some kind of onion architecture?
I didn't mention DDD.
> a set of very basic software design principles that avoid/eliminate problems such as circular dependencies or testability.
You don't need hexagonal architecture to achieve that.
How is hexagonal architecture superior for building modern web applications vs for example vanilla Rails?
Why successful projects like discourse, hacker news are not built following this architecture?
Why you never hear stories of how hexagonal architecture helps companies like Google, Facebook, Microsoft, or Apple build great software?