A friend of mine (who also used to be a coder) invited me to participate in this project of his. As i was on vacation i decided to take a chance and took a look. IMHO the code was unnecesary complex, and that lead to a discussion with the other coders. While my friend was also listening he soon found himself lost in the myriad of *DD terms and design patterns stuff. So i sketch this matrix to help him understand the bigger picture. It just happen to be that i found this little tool useful to get a better understanding of any development project. So i thought i share it with you 😉
The matrix is indeed very simple. It only have 3 columns: Application layer, Technology and Patterns. For a classical DDD application it could be something like:
|Application||ASP.Net Web API||Application Services|
|Domain||Portable Class Library||Aggregate, Entity, Value Object, Repository, Domain Services|
|Infrastructure||WCF, MS SQL 2008, Entity Framework|
So there you have it. Am i missing something? What would you add/change/remove? Do you use anything similar? Write your answers in the comments.