Domain-Driven Design: Tackling Complexity in the Heart of Software
Rate it:
Open Preview
Read between May 28, 2022 - September 10, 2023
47%
Flag icon
Assertions
48%
Flag icon
Conceptual Contours
48%
Flag icon
Because of this underlying consistency, when we find a model that resonates with some part of the domain, it is more likely to be consistent with other parts that we discover later.
48%
Flag icon
Sometimes the new discovery isn’t easy for the model to adapt to, in which case we refactor to deeper insight, and hope to conform to the next discovery.
48%
Flag icon
With each decision, ask yourself, “Is this an expedient based on a particular set of relationships in the current model and code, or does it echo some contour of the underlying domain?”
48%
Flag icon
But it may never emerge from technically oriented refactoring; it emerges from refactoring toward deeper insight.
49%
Flag icon
Standalone Classes
49%
Flag icon
Closure of Operations
49%
Flag icon
Where it fits, define an operation whose return type is the same as the type of its argument(s). If the implementer has state that is used in the computation, then the implementer is effectively an argument
49%
Flag icon
of the operation, so the argument(s) and return value should be of the same type as the implementer. Such an operation is closed under the set of instances of that type. A closed operation provides a high-level interface without introducing any dependency on other concepts.
1 2 3 5 Next »