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

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.

 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

Advertisement
Categories: Uncategorized
  1. February 25, 2011 at 1:16 pm | #1

    thanks for all this.

  1. No trackbacks yet.

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 )

Connecting to %s

Follow

Get every new post delivered to your Inbox.