Heloooooooooooooo π
For the next days , i give myself a challenge to write a little post about what i have read in that book and what impresses me π
So for Today, let's go.
A. The challenges of applying DDD
β’ Allowing for the time and effort required to create a Ubiquitous Language
β’ Involving domain experts at the outset and continuously with the project
β’ Changing the way developers think about solutions in their domain
One of the greatest challenges in using DDD can be the time and effort required to think about the business domain, research concepts and terminology, and converse with domain experts in order to discover, capture, and enhance the Ubiquitous Language rather than coding in techno-babble. If you want to apply DDD completely, with the greatest value to the business, itβs
going to require more thought and effort, and itβs going to take more time.
B. DDD comes with designing the behaviours of objects
We want the behaviors to be named properly to convey the essence of the Ubiquitous Language. But what an object does by means of a specific behavior must be considered. This is a level of effort that goes beyond creating attributes on a class and exposing getters and setters publicly to clients of the model.
Wrong way β
It uses a very data-centric approach. The onus is entirely on the client to know how to correctly commit the backlog item to a sprint. The model, which is not really a domain model, doesnβt help at all. What if the client mistakenly changes only the sprintId but not the status, or the opposite? Or what if in the future another attribute must be set? The client code
must be analyzed for correct mapping of data values to the proper attributes on the BacklogItem.
Good way β
Instead of exposing the data attributes
to clients, it exposes a behavior that explicitly and clearly indicates that a client may commit a backlog item to a sprint.
Thus, the method in that second example captures the Ubiquitous Language of the model in context, that is, the Bounded Context in which the BacklogItem type is isolated.
See you π
Top comments (0)