Subscribe to our podcast!

Episode 6: Talking Domain-Driven Design with David Laribee - Part 1

Subscribe to the show via Subscribe via iTunes Store or

kick it on


About This Episode

Domain-driven design (DDD) is an approach to the design of software, based on two premises. For most software projects, the primary focus should be on the domain and domain logic (as opposed to being the particular technology used to implement the system) and complex domain designs should be based on a model. David Laribee sat down with the hosts Keith and Woody to discuss this growing design practice and also discuss how it could be used with the .NET platform.

Have you ever felt like you needed to boost the performance of your .NET app? Or that you needed to understand how your code is behaving or why it isn't behaving in the way you want it to? Well, knowing how your code performs is really easy with a code profiler like ANTS Profiler from Red Gate. It can help you locate performance bottlenecks really quickly. It provides you with quantitative data such as hit count and code timings, so you don't have to waste time guessing where bottlenecks might be. It is ideal if you want to improve parts of your applications and make your algorithms run more efficiently. You can download a 14-day free trial of ANTS Profiler from the box ad below.


Thanks to our guest this episode


David Laribee is President of Xclaim Software, an ISV offering a platform for building document management applications. He has 12 years experience designing, developing, and architecting enterprise applications and managing software development teams in internal IT, product development, consulting, and rapid prototyping contexts across a wide variety of industries. David is a frequent speaker at regional and national developer events and was awarded a Microsoft MVP. He writes about agile practices, software architecture, object design, and the business of software on his blog -- -- part of the CodeBetter blog network.


Show Notes

Download Show

Subscribe To The Show

There are three ways to subscribe to our show so you can stay current. We support standard RSS, subscriptions via the iTunes Store and we are also available in the Zune Market place. Chose your poison by clicking on your choice below.

Subscribe to our podcast! Subscribe via iTunes Store Subcribe via Zune Market Place

#1 Damon Wilder Carr on 7.19.2008 at 4:48 PM

Really solid work. Thank you!

I hate having to fight to do this work and it is astonding that these near decade proven methods are not assumed of all.

We offer some ideas as our team and of course site is defined by domain-driven (it's the best phase I can think of that many understand anyway although it's really 'we insist on trying to make software the compelling strategic asset for organizations').

I have no idea how that could happen (and most have no real interest or belief it could happen) without domain-driven practices. But even that fails until people reboot their understanding of what we do.

We fail as an industry as we are managed like a business disciple, while the small percent who are good (in terms of what SHOULD be expected) are artists first. Not cowboys or egocentric. They are artists becuase they make others succeed. They craft APIs they will never code to that others benefit from.

Our past however was not like this. Same deal, but the evolution in the technology didn't make it the mandate that the artists behave in this way..

Anyway, good stuff!

Damon Wilder Carr

#2 Vijay Patel on 9.06.2008 at 5:01 AM

Great listening!

David makes a very valid point about the design process - business people prefer to discuss the domain model using pictures and whiteboards, rather than looking at code.

To that end, we've developed a tool that takes this a step further, by dynamically generating an application prototype (at run-time) directly from .NET entity classes. Business people can quickly see the domain model as an interactive application - which opens up a dialog (between Developer and business person) that can be focused purely on the domain.

If you're using .NET and DDD, our "TrueView Domain Modeller" tool can help you get started very quickly.

#3 Vijay Patel on 9.06.2008 at 5:05 AM

For anyone interested in TrueView Domain Modeller, you can find it here:


Vijay Patel

#4 Jeremy Hillin on 10.21.2008 at 3:44 PM

I have heard much about DDD but not in the detail from this podcast. DDD (IMHO) is just fundamental OO development with marketing. All these principles follow good OO practices. I am sure there are some specific DDD type practices but they are derived from OO principles. From my experience many developers still do database development and their applications are usually procedural and not OO. Just my perception..

#5 cwoodruff on 10.21.2008 at 6:33 PM

Jeremy -- I agree that the foundation of DDD is OO but I think what the people that have developed the content and knowledge around DDD would say that it is taking the patterns and practices and giving them names and structure that people can understand. Like any pattern, most have been used for longer than the pattern has been around as a name. Same with DDD.

As for developmnent from the database up, I agree that most applications are developed from this thinking. There is now a shift in thinking and tools to support the development from the object model back to the database. I do not think either is correct but both allow the strengths of the developers to shine.

Leave a Comment