Thanks to everyone who attended my presentation at #SeattleCodeCamp this morning!
The code I demoed this morning is currently on the “develop” branch on github.
Here are some of the resources for further reading I alluded to.
- Jeffrey Palermo’s original article on Onion Architect
- Uncle Bob’s post on Clean Architecture
- http://blog.tonysneed.com/2011/10/08/peeling-back-the-onion-architecture/
- http://en.wikipedia.org/wiki/Dependency_inversion_principle
- http://www.develop.com/onionarchitecture
I had some additional thoughts for future revisions of the presentation.
- OA is not just about coding to interfaces. It’s also about coding to the right category of interfaces.
- My presentation is in C#, but the same principles apply in any programming language. The implementation details in other languages may differ.
- Every recommended approach to Onion has a “fat” layer where the important code is. Other layers are basically façades and coordinators.
- In the future, I’d like to show my code diagram first, then show the code, then show the other Onion diagrams.
- I need to update my image for my code diagram as the font doesn’t show up well on washed out projectors.
I’d also like to find a DDD implementation of OA and at least one written in another language (not Java).