-
"... 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...
Posted to
Billy McCafferty
by
Billy McCafferty
on
05-18-2009
Filed under:
Filed under: Architecture, .NET, Software Development, Quality Assurance, ASP.NET, SQL Server, Project Management, Patterns, Test-Driven Development, Agile Development, MVC.NET, S#arp Architecture, Tips & Tricks, DDD
-
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...
-
As if my life wasn't boring enough trying to get S#arp Architecture 1.0 out the door...
Posted to
Billy McCafferty
by
Billy McCafferty
on
05-03-2009
Filed under:
Filed under: Architecture, C#, .NET, Software Development, SQL Server, Algorithms, Refactoring, NHibernate, Project Management, Test-Driven Development, Agile Development, MVC.NET, S#arp Architecture, DDD
-
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...
-
As mentioned in my last post , the DDD Parcel Service is opening up for business soon. Also as mentioned, the first thing I did was to grab my Domain Expert and start some initial conversations around the first areas I am approaching – the Booking service. All of the documentation I am generating is...
-
The Domain Driven Design Parcel Service is a small competitor in a hugely competitive market. With such competitors as UPS, FedEx and DHL, we are at a competitive disadvantage, and need a solution to cover our interactions with our customers, and to streamline our internal processes. This software will...
-
There seems to be some confusion around these and similar concepts, so I thought it might be an idea to provide some clarification. Now these things aren’t specific to DDD, but they certainly have a lot of relevance there, and often provoke furious debate. In this series I first mentioned these things...
-
Continuing our series on Domain Driven Design, we now get to one of the more interesting patterns in DDD – the Specification . A Specification is, in simple terms, a small piece of logic that sits on it’s own and gives an answer to a simple question … “does this match?” With a Specification we split...