Paul Gielens:ThoughtsService

another Endpoint to my thoughts

News

Syndication

Ads


Favorites

Projects

Language Support for the Domain Model

While I was walking up the slopes with Frans to watch the World Championships Big air qualifications in Arosa, Switzerland during our annual Software Architecture Workshop, we talked about the support for Domain Model patterns in his product LLBLGen Pro. I shared my thoughts on language extensions and in the workshop, both on and offline, there were a lot of discussion on how to support the Domain Model in our languages, frameworks and tools. Mats wrote a very insightful post on Domain Model Management which covers some aspects of our thinking. Why not take this thought one step further? With all the great language innovations in C# 3.0! What about supporting the Domain Model directly in our favorite language. Imagine the compiler being able to validate the implemented Domain Model.

I would love to hear your thoughts on this idea!

coredomain Transportation
{
  aggregate Car
  {
    ..
  entity Wheel
  {
    ..
  valueobject Position
  {
    ..
  repository CarRepository
  {
    ..
  service FuelTransfer
  {
    ..
subdomain Navigation
{
  ..

Comments

Bil Simser said:

I love it! This would seriously help people understand the relationships of aggregate roots, VOs and other DDD terms. Right now everything is a class and people don't get how relationships work, so if this is doable in the language I would totally support and welcome it!

# January 21, 2007 11:53 AM

Ayende Rahien said:

Try Boo, such things are already possible there.

I don't think that CSC.exe will ever be opened enough to let you do this.

# January 21, 2007 12:35 PM

p.gielens said:

Boo looks very interesting, thanks for the pointer. I've spend the day looking at Mono's implementation of the 2.0 spec and what it would take to add this domain model abstraction on top of it.

Bil Simser gave a thumbs up for the idea (http://weblogs.asp.net/bsimser/archive/2007/01/21/domain-driven-design-for-c-3-0.aspx) and suggested Ruby.

# January 21, 2007 3:50 PM

TrackBack said:

# January 21, 2007 3:51 PM

Evan said:

would you consider the above new keywords a "domain-specific language"..lol

i dig it

# February 25, 2007 3:51 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)