0

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?

Phil C
  • 1,956
  • 1
  • 18
  • 34

2 Answers2

1

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

edit:
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? – Phil C Apr 03 '11 at 13:48
1

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.

lindelof
  • 461
  • 3
  • 9
  • 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. – Phil C Apr 03 '11 at 13:52