Onion Architecture - What is it and what value does it provide?
Onion Architecture is a way of structuring code to help manage business rules. It is not neccessarly the archtiecture to use for a simple CRUD or reporting application.
Back in 2008, Onion Architecture defined four key tenets:
- The application is built around an independent object model
- Inner layers define interfaces. Outer layers implement interfaces
- Direction of coupling is toward the center
- All application core code can be compiled and run separate from infrastructure
Who invented Onion Architecture?
How do you implement it?
What NOT to do - follow the more common pattern you see
What NOT to do - details
Wrong - even with RCM DIP applied!
What TODO - details