Find & Share Quotes with Friends
Domain-Driven Design Quotes
Error rating book. Refresh and try again.
Rate this book
Clear rating
👁 Domain-Driven Design: Tackling Complexity in the Heart of Software
Domain-Driven Design: Tackling Complexity in the Heart of Software
by
Eric Evans
5,884 ratings,
4.15
average rating, 334 reviews
Open Preview
See a Problem?
We’d love your help.
Let us know what’s wrong with this preview of
Domain-Driven Design by Eric Evans.
Thanks for telling us about the problem.
Domain-Driven Design Quotes
Showing 1-30 of 76
“Listen to the language the domain experts use. Are there terms that succinctly state something complicated? Are they correcting your word choice (perhaps diplomatically)? Do the puzzled looks on their faces go away when you use a particular phrase? These are hints of a concept that might benefit the model.”
―
Eric Evans,
Domain-Driven Design: Tackling Complexity in the Heart of Software
“One other case that drives people to combine FACTORY and REPOSITORY is the desire for “find or create” functionality, in which a client can describe an object it wants and, if no such object is found, will be given a newly created one. This function should be avoided. It is a minor convenience at best. A lot of cases in which it seems useful go away when ENTITIES and VALUE OBJECTS are distinguished. A client that wants a VALUE OBJECT can go straight to a FACTORY and ask for a new one. Usually, the distinction between a new object and an existing object is important in the domain, and a framework that transparently combines them will actually muddle the situation.”
―
Evans Eric,
Domain-Driven Design: Tackling Complexity in the Heart of Software
“Although the REPOSITORY will insert into and delete from the database, it will ordinarily not commit anything. It is tempting to commit after saving, for example, but the client presumably has the context to correctly initiate and commit units of work. Transaction management will be simpler if the REPOSITORY keeps its hands off.”
―
Evans Eric,
Domain-Driven Design: Tackling Complexity in the Heart of Software
“A good SERVICE has three characteristics. 1. The operation relates to a domain concept that is not a natural part of an ENTITY or VALUE OBJECT. 2. The interface is defined in terms of other elements of the domain model. 3. The operation is stateless.”
―
Evans Eric,
Domain-Driven Design: Tackling Complexity in the Heart of Software
“Try to completely eliminate bidirectional associations between VALUE OBJECTS. If in the end such associations seem necessary in your model, rethink the decision to declare the object a VALUE OBJECT in the first place. Maybe it has an identity that hasn’t been explicitly recognized yet.”
―
Evans Eric,
Domain-Driven Design: Tackling Complexity in the Heart of Software
“Across this linguistic divide, the domain experts vaguely describe what they want. Developers, struggling to understand a domain new to them, vaguely understand. A few members of the team manage to become bilingual, but they become bottlenecks of information flow, and their translations are inexact.”
―
Evans Eric,
Domain-Driven Design: Tackling Complexity in the Heart of Software
“Extreme Programming concentrates exclusively on the active elements of a program and executable tests. Even comments added to the code do not affect program behavior, so they always fall out of sync with the active code and its driving model. External documents and diagrams do not affect the behavior of the program, so they fall out of sync. On the other hand, spoken communication and ephemeral diagrams on whiteboards do not linger to create confusion. This dependence on the code as communication medium motivates developers to keep the code clean and transparent.”
―
Evans Eric,
Domain-Driven Design: Tackling Complexity in the Heart of Software
“Persistent use of the UBIQUITOUS LANGUAGE will force the model’s weaknesses into the open. The team will experiment and find alternatives to awkward terms or combinations. As gaps are found in the language, new words will enter the discussion. These changes to the language will be recognized as changes in the domain model and will lead the team to update class diagrams and rename classes and methods in the code, or even change behavior, when the meaning of a term changes.”
―
Eric Evans,
Domain-Driven Design: Tackling Complexity in the Heart of Software
“Extreme Programming recognizes the importance of design decisions, but it strongly resists upfront design. Instead, it puts an admirable effort into communication and improving the project’s ability to change course rapidly. With that ability to react, developers can use the “simplest thing that could work” at any stage of a project and then continuously refactor, making many small design improvements, ultimately arriving at a design that fits the customer’s true needs.”
―
Eric Evans,
Domain-Driven Design: Tackling Complexity in the Heart of Software
Welcome back. Just a moment while we sign you in to your Goodreads account.
👁 Login animation