Typical DDD Implementation with ASP.NET MVC 2 and NHibernate (call it MVCDN stack :))
Architecture Overview
Instead of the traditional top-down solution layering approach, we will be using a hexagonal or onion layering architecture that promotes domain-driven software design. Refer to Jeff Palermo’s technical blog to learn more about the Onion Architecture. The basic idea is that all couplings are toward the centre. That way you can completely replace the skin of the onion (i.e. UI and Infrastructure implementations) without affecting the core domain. But any change to the domain affects all layers, thus making the design and implementation domain centric.
Typical Framework libraries and Tools
Code Generation and Designer Tool
- LLBL Gen Pro v3.0 – http://llblgen.com/defaultgeneric.aspx
The new LLBL Designer supports NHibernate, EF 4, L2S & LLBL itself. It is a wonderful designer and code generation tool.
Presentation Layer
- ASP.NET MVC 2
- jQuery v1.4.2 – http://jquery.com
- jQuery UI Plug-ins – http://jqueryui.com
- AutoMapper – http://automapper.codeplex.com/
- TinyMCE – http://tinymce.moxiecode.com
- Telerik ASP.NET MVC Extensions – http://www.telerik.com/products/aspnet-mvc.aspx
Dependency Injection
Autofac – http://code.google.com/autofac
OR/M
- NHibernate – http://nhforge.org/Default.aspx
- Fluent Nhibernate – http://fluentnhibernate.org/
Refactoring and Code Analysis
- ReSharper – http://www.jetbrains.com/resharper/
- FxCop – http://msdn.microsoft.com/en-us/library/bb429476(VS.80).aspx
Unit testing Controllers
- Moq – http://code.google.com/p/moq/ – mocking framework
- NUnit – http://www.nunit.org/
Continuous Integration Build
- Cruise Control.NET – http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET
Services
- WCF Rest Services – http://msdn.microsoft.com/en-us/netframework/cc950529.aspx
thanks for all this.