Simple Circles

Sunday, January 1, 2012

Overview

This series will be a step-by-step approach on building a simple to use web-based contact and customer relationship management application. The goals are to employ current best practices including domain-driven design (DDD), object-relational mapping (ORM), unit testing - a component of Test-Driven Development (TDD), and the model-view-controller paradigm of ASP.NET MVC3. Additionally, as the name suggests - the finished product must be simple to use. While patterns, practices and techniques employed to build the application might be advanced the end user must not be overwhelmed. Keeping track of a circle of friends, acquaintances and associates should be simple!

There are numerous examples of using these practices and technologies around the Internet. However many are overly simplified - designed to show a particular technique - rather than a complete "real world" example. Technical books tend to stick to the Microsoft mantra of always using their latest offering or their shiny new version of some proven OSS product. For example, Steve Sanderson's Sports Store in Pro ASP.NET MVC 3 Framework and Tim McCarthy's SmartCA in .NET Domain-Drive Design with C# both deliver complete examples yet neither tackle NHibernate - a proven OSS ORM. Instead, they stick to Microsoft's out-of-the-box new kid on the block, a.k.a. Entity Framework. Don't misunderstand, I'm not saying they're bad books - I've bought both, used them to learn, and do refer back to them. However, if I see another contrived example of using Entity Framework with a few wizards to whip out some code solution in an on-stage dog-'n-pony presentation my head is going to explode!


Technologies Explored


Articles

  1. Simple Circles - Domain Model (Part 1)Simple Circles - Domain Model (Part 1)
    Tuesday, January 3, 2012

    This is part of the Simple Circles series on building a simple to use web-based contact and customer relationship management application. The goal is to support variou...
  2. Simple Circles - Persistence (Part 2)Simple Circles - Persistence (Part 2)
    Tuesday, January 4, 2012

    This is part of the Simple Circles series on building a simple to use web-based contact and customer relationship management application. The goal is to support variou...
  3. Simple Circles - Fake Repository (Part 3)Simple Circles - Fake Repository (Part 3)
    Tuesday, January 9, 2012

    This is part of the Simple Circles series on building a simple to use web-based contact and customer relationship management application. The goal is to support variou...
  4. Simple Circles - Add An ASP.NET MVC 3 UISimple Circles - Add An ASP.NET MVC 3 UI
    Wednesday, January 11, 2012

    This is part of the Simple Circles series on building a simple to use web-based contact and customer relationship management application. The goal is to support var...
  5. Replace EF hard wiring with Repository pattern
  6. MVC Controller Unit Tests
  7. Enabling jQuery UI
  8. NHibernate IDbSession and implementation
  9. Fluent NHibernate mapping
  10. NHibernate Unit Testing

As this series is developed, I'll keep updating this post with new links.

Original published article on Blogger