A series of posts providing proven guidance for developing ASP.NET MVC applications from idea to well-designed implementation. Day 3 – Define the Domain Design Model Objective of the Day Transform the actor/system interaction diagrams - from Day 1 - and the domain conceptual model - from Day 2...

A series of posts providing proven guidance for developing ASP.NET MVC applications from idea to well-designed implementation. Day 2 – Define the Domain Conceptual Model Objective of the Day Transform the requirements from Day 1 into an appropriate domain conceptual model reflecting objects, attributes...

A series of posts providing proven guidance for developing ASP.NET MVC applications from idea to well-designed implementation. Part I - Planning & Design For the planning and design phase of project delivery, each "day" will have an objective, inputs, activities, and outputs: Objective...

A series of posts providing proven guidance for developing ASP.NET MVC applications from idea to well-designed implementation. So you’ve landed your first project! Just days ago your client came to you and said “I’ve got a great idea and I want you to build it!” With unwavering...

"... the key to expert performance in many fields is domain knowledge rather than intelligence." Don Reinertsen Domain Driven Design is a software development methodology, intended to achieve a software system closely modelled on and aligned with real business processes. Traditionally development...

"Maybe There is a Better Way" I recently presented at DeveloperDeveloperDeveloper in Sydney, and although my talk was Stuff About CQRS, I opened with the slide My Object Today Is to Make You Think ... 'Maybe There is a Better Way' ( slides here ) The real focus of this was around how...

Updated 2010.03.09 to reflect small modifications that were decided through subsequent discussions on S#arp forum and other DDD posts. Obviously, S#arp Architecture is the bee's knees when it comes to developing ASP.NET MVC applications. ;) But as a project evolves and gets larger, "out of the...

Ultimately most complexity in software comes not from the requirements, the business logic, or even the underlying systems. Most complexity comes out of a poorly considered and managed architecture, and this is commonly seen in tightly coupled systems that rapidly degrade into Big Balls of Mud. The key...

From the beginning of my current project we have been working under some horrible constraints, many imposed by legacy systems, many by late decisions that would have speeded things immensely if made earlier, and many imposed by decisions that are outside of my control. This lead us early on to make decisions...

In my previous post I described the problems with trying to integrate your organisation at the database level , and the fallacies surrounding the idea of the One True Authority Database. I also alluded to this being a problem with services too. When you try to create a monolithic and authoritarian database...

Codai's IT Samurai School is open for enrollment. It's Flash, so it'll take a few moments to download...but I hope you'll agree it's worth the wait... http://www.itsamuraischool.com A few fun facts about the website and the school itself: Born our of a short conversation at a BBQ...

There are many ways you can commit commercial suicide, but there is possibly no slower and more agonising death than that produced by attempting that great architectural objective, the single authoritative database to which all applications talk. The theory is good, if we have a single database then...

Recently I joined a new project, and within reason, and excluding some legacy systems we have to talk to, we have the “luxury” of an almost greenfield project. Probably as greenfield as you realistically get anyway. I was brought in partially as a good old fashioned coder (the project needed...

Greg Young made a good point to me regarding my last post about Validation, Consistency and Immutability , specifically around validation – even more specifically he thought I may have simplified it too far. I was trying to cover the basics of the subject, but may have made the bit around validation...