Category Archives: Useful info

Pitfalls of Domain Driven Design

Someone asked a very important question over at StackOverflow. The answer is also crucially important: “Probably the most important one: not grokking the central, fundamental principle of the Domain Model and its representation in Ubiquitous Language. With the plethora of technology options around, it’s very easy for your head to fill up with ORMs, MVC [...]

Naked Objects podcast with Scott Hanselman

Scott Hanselman chats with Richard Pawson about the Naked Objects framework. Find the podcast here. http://www.hanselman.com/blog/HanselminutesPodcast233InsideTheNakedObjectsFrameworkWithRichardPawson.aspx

Video presentation of Naked Objects

Although TrueView supports Domain Driven Design, it also embraces the Naked Objects Pattern. This little known architectural pattern is a refreshing (maybe radical?) concept, but complements DDD very well. Here, Dr Richard Pawson (the originator of the pattern) talks about Naked Objects, why it exists, and why a government department uses Naked Objects to build [...]

Domain Types – Interfaces

In the last post, I published the DomainTypes library: a set of .NET interfaces & base classes to provide the building blocks for DDD (source code included). In this post I’ll describe the interfaces and supporting design decisions. IDomainObject Represents any type of object within the Domain model. Currently this is simply used as a [...]

Free .NET type library for Domain Driven Design + source code

I’ve observed a lot of newcomers to the DDD scene, and typically there’s lots of talk about Entities, Value Objects, Aggregate Roots, Repositories, Factories, IoC, and various technical concerns. But I’m seeing a lot missing from the discussions.  Like “What about the locking implications around an Aggregate?” or “Must Value Objects be immutable“, or even [...]

Domain Driven Design reference card

Spotted this handy online reference for Domain Driven Design: http://www.scribd.com/doc/21997741/DZone-Refcard-76-Domain-Driven-Design

Upgrade from Windows 7 beta/RC to Windows 7 RTM

Finally got around to upgrading to Windows 7 RTM, only to be greeted with the following: You cannot upgrade this prerelease version of Windows 7. Go online to see how to install Windows 7 and keep your files and settings A quick Google found these instructions.   Should save you the hassle of rebuilding your PC

Eric Evans: “What I’ve learned about DDD since the book”

Eric Evans talks about the most essential parts of his book, having practiced it over the last 5 years. One of the topics that caught my attention was Exploration and Experimentation (3m 25s into the video).  Evans suggests that teams should be exploring & experimenting even after a useful domain model is created.  His quote: [...]

Eric Evans: Why do efforts to replace legacy systems fail?

Gojko Adzic has an interesting piece by Eric Evans about replacing legacy systems. In summary, focus on the core domain – the part of the software that brings competitive advantage to the business – and use an anti-corruption layer to interface with the old system.

When should you use a Value Object?

Whilst in the middle of writing about “Entities vs Value Objects“  I discovered this post by Dylan Beattie. I’ve observed that a lot of DDD newbies get hung up on Value Objects, persistence, how to normalise the database, and other implementation concerns. Value Objects stem from the actual domain problem, not from  persistence.  Read Dylan’s [...]