Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The one true domain model - a fallacy?

Tags:

architecture

I've just finished working for a client which has burnt millions on a project to come up with the 'one true domain model' for their business. This was the project's sole deliverable.

What are your thoughts on this? Is a single version of the truth realistic?

like image 996
James L Avatar asked Jan 22 '23 08:01

James L


2 Answers

The key word here is "model". Any domain model is an abstraction of the key entities and behaviour in the model of a system.

As an example, a traffic management system might have an entity Car, which is indivisible. A driving simulation will have much more structure: components, weight, colour, occupants and so forth.

The point here is that there is no global definition of Car. There is only state and behaviour that you care about for your particular application (or even a part of an application).

like image 75
cletus Avatar answered Jan 24 '23 21:01

cletus


No, it's not realistic. Yes, it's a fallacy ;-)

In my opinion, it's the well-known trade-off between re-usability and maintainability. If there is one most important aspect of maintainability, I would say it is: minimizing dependencies. The 'one true domain model' for the whole business obviously creates a lot of dependencies, no matter how clever it is engineered.

I would go for better maintainability.

like image 39
realMarkusSchmidt Avatar answered Jan 24 '23 23:01

realMarkusSchmidt