Setting the scene - Model Driven Design

4 03 2008

Last time we spent some time separating the domain layer from the rest of the application using a Layered Architecture. This time we will take our first steps into the design of the most important layer: the domain layer.

The goal of the domain layer is to capture all the business logic that applies to the domain that we are writing software for, hence its important that the source code for the domain layer reflects the true domain as much as possible.  Why? Well, this way you can use the source code as a means of communication with all members of the team and with the eventual consumers of the application, in fact all concepts that will be discussed in the upcoming chapters should be part of this common language, called the ‘Ubiquitous Language’.

Code an sich does not lend itself very well for communication does it? It contains a lot of chatter, like point comma’s, curly braces etc… just for the sake of getting it compiled. A better way to communicate the code is using a model, a graphical domain specific representation of the code. This is where DSL’s or Domain Specific Languages come in, they can provide a graphical representation of code which is specifically tailored for the problem domain and as such DSL’s can bridge the gap between the code and the Ubiquitous Language. An excellent example of a DSL can be found in the Visual Studio Class designer, which is nothing more than a nice DSL on top of code that represents classes.

Example DSL

A DSL is a great way to present the concepts in a given problem domain, like the concept of a class or a workflow, as long as the concept you want to show is expressable as a graphic. But many enterprise models are just to difficult or to wieldy to capture at one glance, which is one of the biggest problems for a graphical DSL.

Next time we will look into the options we have to separate the different parts of a large model into distinct parts.


Actions

Information

One response to “Setting the scene - Model Driven Design”

17 03 2008
Setting the scene - Divide and conquer « IntoFactories.NET (17:52:54) :

[...] the scene - Divide and conquer 17 03 2008 Last time we discussed the concept of model driven design, and introduced a miniature domain model [...]

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Spiritual Well Being. Part 2


…continued In the text healing wise there is an interesting story to demonstrate this point about a midwife who when thanked profusely for her assistance in birthing states, “I’m there to help her remember HER power; not to display mine. I am there to support HER to deliver the baby; I don’t deliver. …The more invisible [..]


Spiritual Well Being. Part 1


So often we seperate physical well being and spiritual well being; yet aren’t they one and the same? Here are some ponderings on the inherent wisdom found in the teachings of Susun Weed. In my life there have been a few that stood out to me in this special way. Not so much because they were [..]


The Forgotten Muscles


We all know how to work most of our muscles, but what about the ones that most people forget. Kegel exercises can make for an easier pregnancy and spice up your sex life. You can lift weights or run to work your biceps and calves, but what about the forgotten muscles — the ones in the [..]


Rejuvenate your Health with Colon Cleansing and Detoxification


One of the most beneficial immune-rejuvenating habits you can establish for yourself is a periodic intestinal cleanse and liver detoxification. Many health practicioners believe that the change of season is a good time for such cleanses, since our immune systems are often more susceptible to pathogens at these times. A complete cleansing program will address both [..]


How To Get Started In Skateboarding


Learn how to select the right board for you. It looks very cool on the X Games and Gravity Games and it doesn’t cost a lot to get started. So, what is the first thing you need? A skateboard. You can pick up a skateboard at flea markets, yard sales, discount stores, online, and lots of [..]


All News