DDD Quickly

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?
  • Olzhas Murtazinhas quoted2 years ago
    Create entire Aggregates as a unit, enforcing their invariants
  • Olzhas Murtazinhas quoted2 years ago
    There are several design patterns used to implement Factories. The book Design Patterns by Gamma et all. describes them in detail
  • Olzhas Murtazinhas quoted2 years ago
    A Factory Method is an object method which contains and hides knowledge necessary to create another object
  • Olzhas Murtazinhas quoted2 years ago
    If an object cannot be created properly, an exception should be raised, making sure that an invalid value is not returned
  • Olzhas Murtazinhas quoted2 years ago
    If objects of an Aggregate are stored in a database, only the root should be obtainable through queries. The other objects should be obtained through traversal associations
  • Olzhas Murtazinhas quoted2 years ago
    How is the Aggregate ensuring data integrity and enforcing the invariants? Since other objects can hold references only to the root, it means that they cannot directly change the other objects in the aggregate. All they can do is to change the root, or ask the root to perform some actions
  • Olzhas Murtazinhas quoted2 years ago
    The root can hold references to any of the aggregate objects, and the other objects can hold references to each other, but an outside object can hold references only to the root object
  • Olzhas Murtazinhas quoted2 years ago
    Each Aggregate has one root. The root is an Entity, and it is the only object accessible from outside
  • Olzhas Murtazinhas quoted2 years ago
    An Aggregate is a group of associated objects which are considered as one unit with regard to data changes
  • Olzhas Murtazinhas quoted2 years ago
    It is recommended to have some flexibility, and allow the modules to evolve with the project, and should not be kept frozen. It is true that module refactoring may be more expensive than a class refactoring, but when a module design mistake is found, it is better to address it by changing the module then by finding ways around it
fb2epub
Drag & drop your files (not more than 5 at once)