[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:
[UPDATED - Feb. 2013] The sample application can be downloaded from here: https://1drv.ms/u/s!Ag33_uWyTcH5n9g2UGtmmF11BefagQ
The last released Guide chapters (v2) can be downloaded from here: https://1drv.ms/u/s!Ag33_uWyTcH5n9g4QYJtUF9Zdyelxw
Original (v1) PDF eBooks:
The DDD approaches and patterns explained in the guide are still valid, but the technologies used in the sample app are outdated as they are from 2011.
For an updated technologies positioning and global approaches recommendations, where DDD is also positioned from a high level point of view, read this guide:
.NET Technology Guide for Business Applications (2013): http://www.microsoft.com/net/nettechnologyguidance
also available as free eBook from MS PRESS:
[UPDATED - May 2011]
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:
[UPDATED - Feb. 13th 2011]
We are currently in the process of translating our “Domain Oriented NLayered Architecture” book to English (Spanish Guide/Book was released during early December 2010), but for the sake of many people who were asking for the English version, we decided to publish the draft chapters with a 'pre-final' state, at our CODEPLEX site.
Here you can download only the English 'Pre-Final' drafts:
Please send your feedback/errata (typos, technical or any grammatical mistakes) to: cesardl at microsoft dot com
We (Microsoft DPE-Spain ) just published in MSDN-Spain & CODEPLEX our new DDD N-Layered .NET 4.0 Architecture Application guide book (e-book & printed book as a gift in our events) and Sample-App (published in CODEPLEX), based on .NET 4.0 wave, Entity Framework 4.0, Unity, WCF, PEX (Moles & Stubs) for Unit Testing and mocking, etc.
All is still a draft documentation & BETA app-example, take that into account… It will be growing… 🙂
Take also into account that our Guide-Book is in Spanish (we could translate it to English after summer), but our Sample-App is all in English.
We've been working on it during several months and now we just published it. But I wanna highlight that the related documentation is still a DRAFT version and the App example is still an ALPHA/BETA version, as well.
DDD Architecture Style Diagram and Guide-Book cover and Table of Content
This project implements a simple business scenario, but it is quite end to end complete regarding DDD N-Layered Architecture style , .NET 4.0 technologies and Archetypes (we'll be growing to many different clients, starting from WPF 4.0 , Silverlight 4.0 , and going to ASP.NET MVC , OBA , Windows Phone during the next future).
It is very 'Domain Oriented' , therefore, it illustrates typical DDD patterns , like Entity, POCO/IPOCO Entities, Value-Object, Aggregates, Repository, Unit of Work, Specification (most of those patterns originally defined by Eric Evans and Martin Fowler ), using ADO.NET Entity Framework 4.0 , Unity, WCF, and PEX (Stubs and Moles) for Unit Testing and mocking.
Architecture Guide material downloads:
|Download - DDD N-Layer Architecture & .NET 4.0 wave implementation guide e-book - (SPANISH)
|Download APPLICATION EXAMPLE in CODEPLEX (ENGLISH)
It is really important to note that DDD and therefore this App-Example and our .NET DDD N-Layer Architecture Guide is specifically made for Complex Apps where you have a lot of business rules. It is NOT for small and data-centric apps. If you are going to create this other kind of app, I recommend not to adopt this approach but instead going for a RAD approach line WCF-RIA-Services, which is much simpler (but it is a more coupled approach not suitable for long life apps).
Sample-App in Codeplex (WPF version)
Current required Base Software (See exact versions in our Codeplex site)
- Microsoft Visual Studio 2010 - RC
- Microsoft SQL Server 2008 Express (or higher)
- Microsoft Unity 1.2 (We'll migrate to Unity 2.0 in the near future)
- Microsoft PEX 2010
- Microsoft WPF Toolkit
Next versions plan!!
For next versions & App’s flavors, we’re actually working on several new stuff:
- Adding new clients like: Silverlight 4.0, ASP.NET MVC, OBA and Windows Phone 7!!
- Adding AppFabric-Cache (“Velocity”)
- Adding AppFabric Hosting support for WCF Services
- Adding Claims Orientation Security based on WIF (Windows Identity Foundation)
- Unity 2.0 for loosely-coupled Application Server components
- Some components/building blocks coming from Enterprise-Library 5.0
- more ideas you can have!! 🙂
This project is locally supported by several Software Architects and Developers (coming from Microsoft DPE Spain, MVPs, partners and Microsoft Services). Special thanks to my collaborators:
- Unai Zorrilla (Plain-Concepts), Javier Calvarro, Miguel Angel Ramos (Microsoft), Rido Minguez (Microsoft), Pierre Millet (Microsoft), Israel García Mesa (Microsoft), Roberto Gonzalez (Renacimiento) and Juan Cid (Avanade), and some other Architects and developers I will add...
We'll be happy to hearing from you and getting your feed-back to improve and evolve this Architectural example!!.
We'll improve it during next months, and we’d love to get your feed-back and new ideas to consider!!
Thanks a lot for your feed-back!! (You can use CODEPLEX DISCUSSIONS within our site) 🙂