Dan Byström’s Bwain

Blog without an interesting name

Archive for May, 2006

Read all about it! Read all about it!

Posted by Dan Byström on May 22, 2006

Applying Domain-Driven Design and Patterns, by Jimmy Nilsson

A year ago I wrote "I’m working on an exciting project (in C#) where I’ve come up with a number of interesting things to write about in the future, when I have more time".

Guess what? I’m still working hard on the very same project! For 18 months I’ve been working on this with my friend and colleague Jimmy Nilsson. Jimmy writes the domain model (including data storage and also develops a deeper understanding of the customer’s business logic) while I do "the rest".

I just counted the number of source code lines in my part and found that it is made of 170,000 lines of C# code – and counting (and don’t for a second believe that you can find any duplicated code in there; I’d rather watch sports for a whole day than yield to "clipboard inheritance").

Now here is a beautiful thing: in not a single one of these 170,000 source code lines can you find a clue to that there is an SQL Server somewhere "down there". There are only nice clean objects presented to me by Jimmy’s Domain Model, freeing me to focus on creating a nice, functional user experience instead of getting dirty with how to get data off and to the database.

This is achieved by fully utilizing the concept of Domain Driven Design [Evans]. Jimmy "wraps" the database for me and presents an object model (the domain) so that I can work totally object oriented and focus on logic and UI and just forget about the persisting details. This is truly the way programming was meant to be! 🙂

Now you may just wonder who Jimmy managed to get my life so simple. He has been kind enough to tell us all exactly how in his new book Applying Doman-Driven Design and Patterns!

Posted in Uncategorized | Leave a Comment »


Posted by Dan Byström on May 18, 2006

Yesterday I had a great time at Expo-C i Karlskrona, listening to some inspiring speakers like Lennart Ohlsson and Dan North. The topics centered around languages, like Agile Languages and Domain Specific Languages. After awhile I started to realize that I really must try out Python and Ruby soon (like I’ve been told for years now).

But best of all was Eric Meyer, who was the last speaker. He almost convinced everyone that there exists a language that already delivers what the previous speakers propagated for – and more, like both strong and weak typing at the same time. This great language is… Visual Basic .NET. Afterwards Dan North said "well, it sounds just great, but… it is… VB!!!".

It will be interesting so see if Eric will manage to get rid of VB’s bad reputation. I asked him if we couldn’t have late binding in C# as well and got the obvious answer "why do you want it in C# when it’s already there in VB?". 🙂

Posted in Uncategorized | Leave a Comment »