[UPDATED – April 2017] – IMPORTANT: For up-to-date architecture and development guidance using .NET (i.e. .NET Core, ASP.NET Core, Docker containers, etc.) including Domain-Driven Design patterns, microservices architectures and other .NET related technologies like Xamarin for mobile apps check this landing page pointing to multiple NEW guides and reference applications:
Specifically, most of the DDD (Domain-Driven Design) patterns explained in the guidance written in 2010/2011 are still valid nowadays, however all the technologies have evolved significantly. Also, many new architecture patterns like Microservices Architecture (which is deriving from Domain-Driven Design) have been polished and improved over the years.
- For an up-to-date guide/eBook on Microservices/Containers Architecture with .NET Core, check this:
- For an up-to-date reference application on Microservices/Containers Architecture with .NET Core, check this:
The CODEPLEX site was unpublished since it was a non-evolving site, nowadays.
We just published the English version of our ‘DDD N-Layered .NET 4.0 Architecture Guide’ book (at MSDN).
The ‘landing page’ where you can download the free eBook in several formats like .PDF, .XPS and for eBook Readers (.EPUB, .MOBI) is the following:
This special post is dedicated to let you know that we recently published at MSDN the new DDD .NET 4.0 Architecture Guide/Book (First Edition in English), available as eBook (.PDF, .EPUB and .MOBI) which follows Domain Driven Design Architectural style and trends. We also provide an end-to-end sample application (at CODEPLEX) where you can check every .NET code aspect. We were working on it during 2010 and published the same guidance in Spanish in late 2010. Since its first publication we got really good feedback you can check below and at our CODEPLEX site.
Microsoft has noticed, in multiple customers and partners, the need to have a “.NET Base Architecture Guide” that can serve as an outline for designing and implementing complex and mission critical enterprise .NET applications with long term life and long evolution (DDD target apps). This frame of common work defines a clear path to the design and implementation of business applications of great importance with a considerable volume of business logic. Following these guidelines offers important benefits regarding quality, stability, and especially, an improvement of future maintenance of the application, due to the loose-coupling between components, homogeneity, and similarities of the different developments that will be done based on these guidelines.
This Architecture Guidance has also been reviewed by the Microsoft Entity Framework Product Group (Microsoft Corp) because EF is a core component of the technology it uses.
It is also available as a regular printed book, in English or Spanish, from Krasis Press:
UPDATE (Dec.2013): The sample application is currently outdated and was unpublished from CODEPLEX. For the records, it can be downloaded from here: http://sdrv.ms/18bjaba
We elaborated a sample application as a needed companion for this Architecture guidance, so anyone can check every pattern implementation in a working and end to end example. This sample app is published as OPEN SOURCE CODE at the following CODEPLEX site:
The guidance implements typical DDD patterns (Domain Entities, Repositories, Aggregates, Unit of Work, Value Object, Domain & Application Services, etc.) and IoC/DI techniques, using the following technologies:
- Visual Studio 2010 y .NET 4.0
- Entity Framework 4.0
- UNITY 2.0
- Silverlight 4.0
- WPF 4.0
- ASP.NET MVC
- Windows Server AppFabric Hosting & Cache (Optional)
- Windows Azure (Optional)
- SQL Server
- SQL Azure (Optional)
The following are a few comments and feedback gathered from our CODEPLEX site:
Brilliant. The best fully developed example available. The documentation will become my architecture bible
by TimCromarty on May 14 at 12:16 AM
This is by far the best DDD guide and sample project around.
by Cyberdude3 on Apr 11 at 3:25 PM
The best online project about DDD…
by alen_ekt18 on Apr 2 at 12:41 AM
Oh my god Really The English book that goes with this release is so awesome. It’s the best technical document with guidelines that I read by FAR Looking forward to see it being finished! Keep up this excellent work please Can’t use enough superlatives Best Regards, Tom
by buckley on Mar 30 at 11:34 AM
I just started reading the English version of the documentation. It is awesome. The authors injected much practical knowledge and insights into the abstract topics of application architecture. If you have read Evans and Fowler, the documentation will help you really put all the theoretical ideas together in more tangible ways than I have seen any literature to date. Great work.
by liberty2k on Mar 10 at 9:06 PM
Very sophisticated and well thought out. Will be using this to compare to our architecture which is very similar using DDD, Repository Pattern, Linq, Unity and Entity Framework. Can’t wait to get the full English translation.
by ben555 on Feb 25 at 12:28 AM
Creo que este proyecto ¡es una joya! Ya lo estoy aplicando en soluciones a problemas reales y me ha dado preciosas y buenas sorpresas de buen funcionamiento. Me parece que es admirable el trabajo desarrollado para los repositorios genéricos con LINQ, especificaciones y filtros. Gracias nuevamente a César y al equipo todo.
by asereware on Feb 5 at 7:57 AM
Most impressive .Net project ever seen. Keep up the (awesome) good work!
by NicoJuicy on Feb 2 at 1:24 AM
You can check more feedback and ratings, at our CODEPLEX site:
This guidance is a living Project so it will continue evolving the Guide and Sample App. Specifically we are already working on the following new features:
– EF 4.1 evolution (POCO Code-First Entities)
– Claims-based Security implementation on the sample application (The Guide already covers it)
– New Client technologies (Windows Phone 7, HTML5, etc.)
We hope this work might be useful for many organizations and we encourage you to provide feed-back and new ideas using our discussions-forum at CODEPLEX.
|César de la Torre Llorente