This question relates to a one I asked earlier: https://stackoverflow.com/questions/5448574/under-what-conditions-could-we-justify-an-attempt-to-introduce-a-one-size-fits-al

When re-reading "Domain-Driven Design: Tackling Complexity in the Heart of Software" by Eric Evans, I noticed that the possibility of achieving a common terminology (domain language) is taken for granted. Where does a domain language begin? Which code layers (or whatever the grouping) should reflect this domain language?


I've read DDD too, and if I remember correctly the domain-specific layer is not really a layer, it's a common language that will pervade the entire application. Hence the importance of getting it right.

  • Yes, he said that which makes it a problem to get it right if different customers call the same thing something different (as mentioned in the link in the question). I don't think it can always happen that way.
    – CarneyCode
    Apr 3 '11 at 13:52

In principle the top-most layer, since it is the layer that code the business logic and it is there the Domain Specific Language is a expression of the BL.
I can recommend "Object-Oriented Modeling and Design" by Blaha & Rumbaugh (IBSN 0-13-196859-9) on the grounds that it gave me a good mental model how software should look and practical advices

On implementing DSL in lower layers. Well, in my case, only if I saw that I got a substantially smaller code. Since these parts often easy to express in constructs that already is in most languages, maybe save for db-handling it is mostly no use.

It is also probably problems that is already solved in one way or another by others and it is a good chance to reuse these solutions.

  • That makes sense; but would you be tempted to go as far as repositories, the DAL, or even lower?
    – CarneyCode
    Apr 3 '11 at 13:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.