Posts

Showing posts from April, 2024

Domain-driven Design: Tackling Complexity in the Heart of Software Eric Evans

Image
Table Of Content Read an Excerpt Agile Software Development Browse Books Books Clean Code: A Handbook of Agile Software Craftsmanship References to this book A detailed look at domain-driven design in software development, including basic implementation and a handful of advantages and disadvantages of its use. Yet the most significant complexity of many applications is not technical. When this domain complexity is not dealt with in the design, it won't matter that the infrastructural technology is well-conceived. A successful design must systematically deal with this central aspect of the software. Read an Excerpt I've tried best practices in design and development process as they have emerged from the leaders in the object-oriented development community. A feature common to the successes was a rich domain model that evolved through iterations of design and became part of the fabric of the project. This book intertwines design and development practice and illustrates ho

Domain-Driven Design: Tacking Complexity In the Heart of Software Guide books ACM Digital Library

Image
Table Of Content Building Blocks References to this book Common terms and phrases Software Development Skill level: Intermediate Books DevOps Foundations: Lean and Agile Lifting this ceiling on complexity calls for a more serious approach to the design of domain logic. Early in my career, I was fortunate to end up on a project that did emphasize domain design. This project, in a domain at least as complex as the one above, also started with a modest initial success, delivering a simple application for institutional traders. Building Blocks One project I joined started with lofty aspirations to build a global enterprise system based on a domain model, but finally had a disappointing result. The team had good tools, a good understanding of the business and gave serious attention to modeling. But a separation of developer roles led to a disconnect between the model and implementation, so the design did not reflect the deep analysis that was going on. In any case, the design of d