Typical DDD Implementation with ASP.NET MVC 2 and NHibernate (call it MVCDN stack :))

1

August 15, 2010 by temebele

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.

 MVCDN stack

 

image

Typical Framework libraries and Tools

Code Generation and Designer Tool

LLBL Gen Pro v3.0http://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.2http://jquery.com

jQuery UI Plug-inshttp://jqueryui.com

AutoMapperhttp://automapper.codeplex.com/

TinyMCEhttp://tinymce.moxiecode.com

Telerik ASP.NET MVC Extensionshttp://www.telerik.com/products/aspnet-mvc.aspx

Dependency Injection

Autofac http://code.google.com/autofac

OR/M

NHibernatehttp://nhforge.org/Default.aspx

Fluent Nhibernatehttp://fluentnhibernate.org/

Refactoring and Code Analysis

ReSharperhttp://www.jetbrains.com/resharper/

FxCophttp://msdn.microsoft.com/en-us/library/bb429476(VS.80).aspx

Unit testing Controllers

Moqhttp://code.google.com/p/moq/ – mocking framework

NUnithttp://www.nunit.org/

Continuous Integration Build

Cruise Control.NEThttp://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET

Services

WCF Rest Serviceshttp://msdn.microsoft.com/en-us/netframework/cc950529.aspx

Advertisements

One thought on “Typical DDD Implementation with ASP.NET MVC 2 and NHibernate (call it MVCDN stack :))

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: