Fluent.Interface


Billy McCaferty and his S#arp Architecture

I have been following Billy McCaferty’s Sharp Architecture project for some time now – a best practice Domain Driven Design approach to developing ASP.NET MVC web apps.  It has seen a number of iterations, the latest including the configuration with FluentNhibernate and independent ServiceLocator

In his recent article on InfoQ he discusses some of the motivations behind his TDD/DDD implementation.

What’s currently lacking, at least in the world of .NET web development, is a common architecture and foundation for application development which combines best of breed technologies and techniques, using recent technologies based on proven practices, while taking into account the availability of high quality tools developed by the open source community. S#arp Architecture is a response to this need. The open source S#arp Architecture attempts to leverage the proven practices described in this article with carefully selected tools to increase development productivity, while enabling a high level of quality and maintainability

He also makes dudious use of the T4 templating support built into VS2008 to codegen files from the Model objects through to Views and Controllers.  A great kick start for any new project – Well worth a read!


Oslo and new declarative language ‘D’ to be unvelied at Microsoft’s PDC 2008

The PDC postponed in 2007 will give people plenty to talk about in October.

I am particularly looking forward to the unveiling of Oslo, and getting my hands on the CTP.  I have been a Domain Driven Design advocate for a while now, and believe it is import to have a good vision for the model and how it is mapped back to implementation.  Oslo is all about modeling and is set to include:

  1. a ‘tool’ for so the BA types can visualise the problem domain
  2. a new domain specific language ‘D’ for mapping the model down to SQL.
  3. a (SQL) repository for storing the above

Microsoft has done a good job making most of .NET framework core libraries flexible and extensible, so let’s hope this will be a better offering then the Entity Framework V1, which was very limiting.  I still use NHibernate and see no reason to switch camps until they improve the design.


Microsoft’s Data Programmability team listening to the community

While Microsoft’s Entity Framework continues to add new features with release of SP1.  It still doesn’t go anyway to supporting persistent ignorant domain models in the way the NHibernate does.  As i blogged about previously, this has been so unpopular that a PostSharp plugin has been developed to inject the nesseacary bits to support the EF at compile time.

However the good news is that a delegation of great minds including Eric Evans and Jimmy Nilsson (both with great DDD books) will be brain storming on ways to improve the next release – especially in relation to Domain Drive Design practices.


What I’m excited about – Agile goodness of DDD/TDD/ORM

I have spent a lot of time resarching the internet (and in particular other people blogs) for information on my specific agile topics of interest:

With all that great info out there, I thought it wouldn’t hurt to have another filtered view of the world. So I will be following up with some articles on my own.

Stay tuned,

Julian.