In his classic work, Eric Evans describes a groundbreaking approach to software development, at the heart of which is an object-oriented model, representing, as accurately as possible, the domain model – that is, the (usually not formally defined) model used in the business departments of a company.
The development and maintenance of such a model require close cooperation between IT and business departments. Establishing a shared, unambiguous language – the "ubiquitous language" – enables communication without ambiguities and misunderstandings.
The domain model and close collaboration ultimately lead to an application that does precicely what the business department hoped it would do – and that can be easily adapted to new requirements.
Supported by numerous rich examples, the book shows a systematic path from the business requirements to the detailed technical model. It draws from a repertoire of technical building blocks – such as entities, value objects, aggregates, services, repositories, and factories – as well as higher-level concepts such as bounded context and context map, shared kernel and anticorruption layer, and core and subdomains, to name just the best-known.
The book is one of the most important in software development and is still cutting-edge after two decades. However, it is not an easy read – ideally, you should have a few years of programming experience and take a few weeks to work through it. The time and effort invested will be worth it and will lift you to a new level of software development.
🎧 Suitable as an audiobook: No.
* Disclosure: We love sharing our favorite books with you! As an Amazon Associate, we earn a small commission from purchases you make through our links, which helps us continue creating content you enjoy.