bookmate game
Eric Evans

Domain-Driven Design: Tackling Complexity in the Heart of Software

Notify me when the book’s added
To read this book, upload an EPUB or FB2 file to Bookmate. How do I upload a book?
  • Кузнецов Фёдорhas quoted3 years ago
    If you’re trying to add automation to complicated human enterprise, then your software cannot dodge this complexity—all it can do is control it.
  • Dauren Chapaevhas quoted3 years ago
    Play with the model as you talk about the system. Describe scenarios out loud using the elements and interactions of the model, combining concepts in ways allowed by the model. Find easier ways to say what you need to say, and then take those new ideas back down to the diagrams and code.
  • Олег Мешечковhas quoted3 years ago
    The greatest value of custom software comes from the total control of the CORE DOMAIN.
  • Олег Мешечковhas quoted3 years ago
    Distillation is the process of separating the components of a mixture to extract the essence in a form that makes it more valuable and useful. A model is a distillation of knowledge. With every refactoring to deeper insight, we abstract some crucial aspect of domain knowledge and priorities.
  • Dauren Chapaevhas quoted3 years ago
    A project faces serious problems when its language is fractured. Domain experts use their jargon while technical team members have their own language tuned for discussing the domain in terms of design.

    The terminology of day-to-day discussions is disconnected from the terminology embedded in the code (ultimately the most important product of a software project).

    And even the same person uses different language in speech and in writing, so that the most incisive expressions of the domain often emerge in a transient form that is never captured in the code or even in writing.

    Translation blunts communication and makes knowledge crunching anemic.

    Yet none of these dialects can be a common language because none serves all needs.
  • Dauren Chapaevhas quoted3 years ago
    The heart of software is its ability to solve domain-related problems for its user.
  • Dauren Chapaevhas quoted3 years ago
    The premise of this book is twofold:

    1.For most software projects, the primary focus should be on the domain and domain logic.

    2.Complex domain designs should be based on a model.

    Domain-driven design is both a way of thinking and a set of priorities, aimed at accelerating software projects that have to deal with complicated domains. To accomplish that goal, this book presents an extensive set of design practices, techniques, and principles.
  • Олег Мешечковhas quoted3 years ago
    Generally speaking, there is a correspondence of one team per BOUNDED CONTEXT. One team can maintain multiple BOUNDED CONTEXTS, but it is hard (though not impossible) for multiple teams to work on one together
  • Олег Мешечковhas quoted3 years ago
    It is important always to draw the CONTEXT MAP to reflect the current situation at any given time. Once that's done, though, you may very well want to change that reality. Now you can begin to consciously choose CONTEXT boundaries and relationships
  • Олег Мешечковhas quoted3 years ago
    The FACADE does not change the model of the underlying system. It should be written strictly in accordance with the other system's model. Otherwise, you will at best diffuse responsibility for translation into multiple objects and overload the FACADE and at worst end up creating yet another model, one that doesn't belong to the other system or your own BOUNDED CONTEXT. The FACADE belongs in the BOUNDED CONTEXT of the other system. It just presents a friendlier face specialized for your needs
fb2epub
Drag & drop your files (not more than 5 at once)