V1.0 - N-Layer DDD Sample App .NET 4.0

Rating:        Based on 16 ratings
Reviewed:  14 reviews
Downloads: 24955
Change Set: 54267
Released: Nov 30, 2010
Updated: Jun 15, 2011 by cesardl
Dev status: Stable Help Icon

Recommended Download

Source Code V1.0 - N-Layer DDD Sample App NET4.0
source code, 17733K, uploaded Dec 1, 2010 - 12521 downloads

Other Available Downloads

Documentation Core-App Setup Walkthrough (English)
documentation, 2142K, uploaded Jan 17, 2011 - 2228 downloads
Documentation Core-App Instalación Paso a Paso (Spanish)
documentation, 2105K, uploaded Dec 15, 2010 - 1587 downloads
Documentation Azure-App Setup Walkthrough (English)
documentation, 5186K, uploaded Dec 15, 2010 - 824 downloads
Documentation Azure-App Instalación Paso a Paso (Spanish)
documentation, 5186K, uploaded Dec 15, 2010 - 714 downloads
Documentation WinSrv-AppFabric App Instalación Paso a Paso (Spanish)
documentation, 2528K, uploaded Jan 17, 2011 - 735 downloads
Documentation WinSrv-AppFabric App Setup Walkthrough (English)
documentation, 2563K, uploaded Jan 17, 2011 - 842 downloads
Documentation Labs Training Material (Spanish)
documentation, 41690K, uploaded Jun 15, 2011 - 5504 downloads

Release Notes

(*) NOTE: We moved the final eBook-Guide download from this page to MSDN. You can download it from here: http://msdn.microsoft.com/es-es/architecture/en

Required Software (Microsoft Base Software needed for Development environment)

  • Visual Studio 2010 RTM & .NET 4.0 RTM (Final Versions)
  • Expression Blend 4
  • SQL Server 2008 R2 Express/Standard/Enterprise
  • Unity Application Block 2.0 - Published May 5th 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2D24F179-E0A6-49D7-89C4-5B67D939F91B&displaylang=en
http://unity.codeplex.com/releases/view/31277
  • PEX & MOLES 0.94.51023.0, 29/Oct/2010 - Visual Studio 2010 Power Tools
http://research.microsoft.com/en-us/projects/pex/downloads.aspx#PexMSDN
  • WPF Toolkit
http://wpf.codeplex.com/releases/view/40535
http://wpf.codeplex.com/
  • Silverlight 4 Tools for Visual Studio 2010
http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=b3deb194-ca86-4fb6-a716-b67c2604a139
  • Silverlight 4.0 Toolkit (Apr. 15 2010)
http://silverlight.codeplex.com/releases/view/43528
  • Windows Server AppFabric (Optional: Just for our Windows Server AppFabric version/flavour )
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=467e5aa5-c25b-4c80-a6d2-9f8fb0f337d2
  • Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (November 2010) (Optional: Just for our Azure version/flavour )
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018

Technologies Changes in V.1.0
- Added ASP.NET MVC Client
- Version/Flavour for Windows Azure
- Version/Flavour for Windows Server AppFabric (Cache & hosting)
- Compatible with PEX & MOLES V. 0.94

Refactoring:

Application Layer Services
Main refactoring was changing position of Services who have not really domain/business logic but are just coordinating Repositories & UoW. Because thoses tasks are really kind of 'plumbing' (application coordination) and something you wouldn't talk with a Domain Expert, those Services should be part of the Application Layer better than the Domain Layer. So now, our Domain Layer has pure Domain Logic in Domain Services and Domain Entities which also have some domain logic within the entities' classes themselves (Avoiding the 'Anemic Domain').

How To Setup this project in VS.2010:

After installing ALL pre-required software, do the following steps
- Create an empty SQL Server 2008 or SQL 2008 R2 DataBase called NLayerApp (conn-string is currently using SQL Server 2008 EXPRESS, like .\SQLEXPRESS)
- Select the WPF, SL4.0 or ASP.NET MVC project as 'Default project' for debugging.
- Depending on what you want to execute (Repositories working against the real DB or against an in-memory 'EF-MOCK' we have), you can change it using just a Web.config property in the WCF WebSite project:
key="defaultIoCContainer" value="RealAppContext" will run against the Database
key="defaultIoCContainer" value="FakeAppContex" will run against in-memory EF-Context fake
- IMPORTANT: The DATABASE project will deploy/generate db schema & execute the sql script called "Script.PostDeployment.sql". All these will create the tables and data needed by the app. Take into account that this script will be executed in every app's execution, so, all data will be cleaned up, for testing purposes, etc. It you do not want this, just comment the content of the .SQL file or enable/disable it within Database project's settings.

For Windows Server AppFabric & Windows Azure versions, we'll post some Walkthrough installation docs right here.

Reviews for this release

     
It is my first time learn WPF ,I need some demo
by aaa549515547 on Sep 3, 2011 at 3:27 AM
     
Excellent sample app and great to see such professional documentation. What I really like is the adherence to key principles (SOLID etc...) and patterns (Repository...). Cheers, Dom
by dommillar on Jun 30, 2011 at 10:06 PM
     
Very comprehensive with good discussion of multiple design options and pros and cons of each. I hope that Microsoft will carry this forward and continue to improve on this great foundation.
by tfabraham on Jun 16, 2011 at 6:24 PM
     
Excellent document covering many aspects of DDD. Looking forward to seeing future releases of the sample application introducing more DDD features such as Domain Events, Workflow, Hoping to use it as the basis of our internal reference architecture document / developer guidance.
by gawinter_2000 on Jun 2, 2011 at 9:44 AM
     
One comment when compile under x86 system should edit the file "MVC.Client.Tests\System.Web.Abstractions.moles" and replace "C:\Program Files (x86)" to "C:\Program Files"
by moh_abed on May 24, 2011 at 1:05 PM
     
Brilliant. The best fully developed example available. The documentation will become my architecture bible
by TimCromarty on May 13, 2011 at 10:16 PM
     
This is by far the best DDD guide and sample project around.
by Cyberdude3 on Apr 11, 2011 at 1:25 PM
     
The best online project about DDD...
by alen_ekt18 on Apr 1, 2011 at 10:41 PM
     
Oh my god Realy The english book that goes with this release is so awesome. Its 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 Regareds, Tom
by buckley on Mar 30, 2011 at 9: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 alll the theoretical ideas together in more tangible ways than I have seen any literature to date. Great work.
by liberty2k on Mar 10, 2011 at 7: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 24, 2011 at 10:28 PM
     
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, 2011 at 5:57 AM
     
Most impressive .Net project ever seen. Keep up the (awesome) good work!
by NicoJuicy on Feb 1, 2011 at 11:24 PM
     
Now i have integrated with WCSF 2010,It 's wonderful.
by draco on Dec 1, 2010 at 10:16 AM