I've been reading this from Uncle Bob:
http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
I have several questions to clarify:
Thanks
Clean architecture vs. The logical layers of this style are as follows: Presentation layer ( accounts for the presentation to the user) Business logic layer (contains the business rules) Data access layer (processes the communication with the database)
At the stage of business idea validation, we can use a three-layer architecture. It will give us development speed for some time, which should be used to find product/market fit. After that, we can move to a Clean Architecture to be able to support functional enhancement.
The most important one is the dependancy inversion principle which is the pillar of the clean architecture. It will become the Dependancy Rule. The second one is Single Responsibility Principle which will become the Common Closure Principle at architectural level.
Strictly speaking, business rules are rules or procedures that make or save the business money. Very strictly speaking, these rules would make or save the business money, irrespective of whether they were implemented on a computer. They would make or save money even if they were executed manually.
In addition to Robert Martin's answer, I'd like to add.
It's best if you can keep your dependency graph as flat as possible. If you're crossing multiple boundaries, the aren't really boundaries.
(See Robert Martin's answer)
In Addition to Robert Martin's books, you may also want to refer to my book Dependency Injection in .NET, which follows the same principles, and comes with extensive (.NET) sample code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With