Goodreads helps you keep track of books you want to read.
Start by marking “Предметно-ориентированное проектирование (DDD): Структуризация сложных программных систем” as Want to Read:
Предметно-ориентированное проектирование (DDD): Структуризация сложных программных систем
Enlarge cover
Rate this book
Clear rating
Open Preview

Предметно-ориентированное проектирование (DDD): Структуризация сложных программных систем

4.15  ·  Rating details ·  3,734 ratings  ·  169 reviews
Классическая книга Э. Эванса освещает наиболее общий, стратегический круг вопросов, связанных с объектно-ориентированной разработкой программного обеспечения. Это переработка и структуризация знаний о предметных областях, применение типовых архитектурных шаблонов, построение и анализ моделей предметных областей, проектирование программных объектов с точки зрения качества ...more
Hardcover, 448 pages
Published 2011 by Вильямс (first published August 20th 2003)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.
This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
Average rating 4.15  · 
Rating details
 ·  3,734 ratings  ·  169 reviews


More filters
 | 
Sort order
Start your review of Предметно-ориентированное проектирование (DDD): Структуризация сложных программных систем
Einar
Jan 15, 2015 rated it really liked it  ·  review of another edition
This book is impossible to rate.

The ideas in this book are incredibly useful, and I am grateful to the author for sharing them with the software development community. In this perspective, not reading this book borders on professional negligence.

Unfortunately, I find the writing practically impenetrable. There are so many quaint and opaque verbs and adjectives that never get defined or even justified. Does "tightening" make a model "richer" and/or "deeper"? What about "enriching"? Is either one
...more
Alexander Petrov
Amazing book!

Every programmer must read it! As well as Pragmatic Programmer by Dave Thomas and Andy Hunt and Refactoring by Martin Fowler.

There are many books tells you to separate domain logic from other parts like UI and Persitence, because it is the most valuable part of application and you should be able to make changes as quick, as your business changes and as your understanding of domain improves.

But! There are very few books about how to design domain layer of your application!

This is
...more
Andreea
Oct 21, 2012 rated it it was amazing  ·  review of another edition
While reading this book I complained a lot about the author repeating the same ideas supported by different examples. However, I really enjoyed reading it and I feel I gained a lot of knowledge about designing software applications. Of course, this knowledge is purely theoretical, but we all have to start somewhere.

One thing I really appreciated is that the author doesn’t isolate the design and development part from the human interaction. One has to know the team members’ skills and employ them
...more
Barbara Krein
Oct 30, 2019 rated it it was amazing  ·  review of another edition
A good book to read for any coder. The ratio of time spent reading vs. writing is well over 10:1.
Luboš
Jun 12, 2018 rated it did not like it  ·  review of another edition
It is a quite famous book but I did not enjoy it. I finished the book just because we had been reading it together with my colleagues. There are several interesting poinst but otherwise it is too long. Indeed, summary at InfoQ is available.
Mehrdad
This book is a fundamental one in the shelf of every software developer who tends overcome the difficulty of creating complex software in a maintainable fashion.
Lars Cronsioe
Inexplicably dull for such an important subject. Given the American habit of paying people per page, signal/noise ratio is way too low and he keeps regurgitating the few valid points over and over. This book could have been written so much snappier and more entertaining.

Really, most of this is common sense, although sadly not very common in the developer community, which is generally more fascinated with technical gadgetry than actual mature software engineering. Technical people usually stink
...more
Tom
Oct 28, 2009 rated it it was amazing  ·  review of another edition
Shelves: nonfiction, tech, own
Great, great book. However, you should probably have at least some understanding of agile, design patterns, and refactoring before reading this book if you truly want to get the most out of it. The book talks about using model-driven design to create a domain model and ubiquitous language that everyone in the company can leverage - a topic that seems to be getting more attention as of late.

Some of the topics are pretty abstract, and I would have liked to see some more code and concrete examples
...more
Emad
Feb 02, 2016 rated it really liked it  ·  review of another edition
Please take this with grain of salt; most of my reading of this book was fast reading.

What I like about this book is that there is a genuine trial to bring examples to the various concepts. This is done throughout the book.

What I don't like:
- Too much repetition and too verbose
- I feel that the statements are structured in a way that makes it really hard for fast reading
- Even with examples, sometimes I feel it's too much theory
Sebastian Gebski
Actually, it's the 2nd time I've read that book. After the 1st time I was quite happy with what I've received - I've generally agreed to author's approach, even more: I've found it rather obvious ("so not a big deal") - I'd do pretty much the same in the example cases, I agree that those design decisions are more reasonable, etc.

Some time has passed, I've discussed DDD with several people on several occassions and I think now I got the value of this book: author does not only gives you the
...more
David
Been reading this on and off for a while now. I would put this on the "must read" shelf of anyone involved in the development side of software engineering, including programmers, designers, architects, even development managers. It presents a lot of important points and topics that some developers sort of know or understand but never clearly defined and put forth. There are best practices on patterns, approaches to design and development, architecture, and communication.

It takes OO development
...more
Bjørn
Excellent software engineering book. It presents a working strategy for writing and organizing software code in classes and packages in a clean and usable environment. The book presents a "common language" concept that improves communication between team members and between the team and stake holders. It presents strategies for managing code by associating class names and packages with specific functionalities, proving and common understanding of what-goes-where for a team working with domain ...more
Stijn
Aug 23, 2017 rated it it was ok  ·  review of another edition
Shelves: it
Ironic how a book that advocates concise documentation and diagrams over text looses itself in way too much narrative. The ideas in this book are good, but it could have easily been have as long. It keeps on repeating itself in long paragraohs, full of vague terms.
The used examples are realistic (all coming from real projects), but sometimes lacked context to understand the reasoning that was applied to apply the patterns.
Jose  Seco Sanz
May 11, 2015 rated it really liked it  ·  review of another edition
Shelves: to-re-read, technical
There is a lot of things to learn in here. Probably I should read it again.
Rahul Gupta
I didn't like the author's style of writing/explaining.
Things were repeated and even after reading more than a hundred pages, the only thing I understood was that, developers and software architects should use domain language to discuss about the project, build diagrams and, write code. At the same time, domain experts should talk code.
Having the common language between developers and domain experts reduces the amount of errors while developing and the overall product becomes better.

The book
...more
Rezaul Karim Sajib
This book is the bible for the software engineers. It' clearly changes the thinking perspective of every software engineer. Even though it is a "must read"book for developers who are willing to implement the domain driven design in their application, but in my opinion, others can also hugely benefitted from this book. I cannot give full 5 stars because this book can have more elaborated examples and it is hard to understand some of the concepts for less experienced developers. Nevertheless, I ...more
Maciej
A lot of the concepts from this book should be obvious to an experienced software developer. Despite this, it was an important read.

The book is too lengthy, so I scanned it from time to time. I also supported my reading with browsing the ideas from the book on the internet.
Miloš Milivojević
Initially I decided not to write a review since I found a bunch of people who shared my impressions of the book and whose reviews put those impressions to words in a far more eloquent and analytical manner than I ever could but in the end it feels a shame not to say anything.

All in all, DDD was in many ways a great read, worthy of its highly lauded cult status - the ideas it presented, especially at the time of its writing, were almost groundbreaking. To top it off, the methodology it proposes
...more
Rafal Piekarski
Jun 28, 2013 rated it really liked it  ·  review of another edition
Shelves: i-own
It took me more than a year to read this book. It was tough. This book is more like a directory of patterns and I believe that you shouldn't use all of them will every project.

I have heard before reading this book about many cases when implementing domain driven design failed. Especially in the Ruby world in which I write most of my daily code. But I believe the true reason of the failure was that people were trying to use all ideas from the DDD. But the book written by Eric Evans in final
...more
Erika RS
Dec 28, 2012 rated it really liked it  ·  review of another edition
Shelves: owned, physical, software
See elsewhere for my more detailed summary.

The short summary is that Domain-Driven Design is a great book for any programmer or software designer who wants to deepen their ability to model application domains. Evans describes why domain modelling is important and sets out a number of patterns for achieving better models. He has a good grasp of real world complexities and, because of that, insists that a model must be implementable if it is to be successful. Any overlap between the model and the
...more
Xavier Shay
May 25, 2011 rated it really liked it  ·  review of another edition
Long (I'm starting to feel that way about all programming books...), but worthwhile. Key takeaways for me:
- If business people use terms that don't appear in your model, that's bad.
- "Make implicit concepts explicit." Important business rules should not be hidden away in conditionals inside an unrelated object.
- Constrain relationships as much as possible. For instance a has_many should only be bidirectional if it is really necessary. A way around it is to use repositories to access the
...more
Robert
Nov 14, 2008 rated it it was amazing  ·  review of another edition
Shelves: computers
This is one of the best books on software design and architecture currently available. This has the potential to be as forever mind-changing as Design Patterns, POSA, or PoEAA. The book talks about an interesting way to design and architect software: That of letting the domain drive the results. The books takes traditional OOP approaches and turns them on it's ear. By making the underlying focus of the application the actual objects (and their relationships/lifecycle) the right things get built ...more
Gediminas
Jan 27, 2019 rated it it was amazing  ·  review of another edition
One of those fundamental books on software design

The book has three distinct parts:
1. Philosophy - on models and model-driven design
2. Tactical Design - on implementing and evolving object models
3. Strategic Design - on handling large object models

The Philosophy and Strategic Design parts are timeless and by far the most important.

Tactical Design is merely one way of applying the philosophy to object-oriented software design. It's a starting point, rather than a silver bullet, so you'll have to
...more
_
Apr 19, 2016 rated it really liked it  ·  review of another edition
Shelves: software
Domain-Driven Design is a book that was recommended to my several times. I think that the translation between these models and some technical implementations will always be a challenge. Though, I can't recommend this book enough to anyone in the technical and non-technical software business.
Kiril Kirilov
Aug 22, 2011 rated it it was amazing  ·  review of another edition
Shelves: sd
This book contains some interesting conceptions/terms. Like - Entity, Value Object, Closure of Operations, Repository, side effect free function, Core Domain, Bounded Context.
Arjay
May 03, 2014 rated it really liked it  ·  review of another edition
A must read book for any serious developer.
Eduards Sizovs
Mar 23, 2015 rated it it was amazing  ·  review of another edition
This book will change the way you think about software development forever
Bayram Üçüncü
Excellent book to learning complex software development solutions. I recommand it. This book does not contain a code based application.
Alejandro Teruel
Jul 19, 2013 rated it really liked it  ·  review of another edition
Shelves: computación, diseño, usb
This is an extremely interesting book which tackles the important topic of developing, refining and evolving the core domain model of an object-oriented software design. It covers the design process, the design as product, design dynamics and the importance of domain design as a fundamental touchstone of software development.

It is hard to write a book about software design. On the one hand, if you write at too abstract a level you run the danger of uttering platitudes or hinting at general
...more
« previous 1 3 4 5 6 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Refactoring: Improving the Design of Existing Code
  • Patterns of Enterprise Application Architecture
  • Working Effectively with Legacy Code
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Implementing Domain-Driven Design
  • Test Driven Development: By Example
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Growing Object-Oriented Software, Guided by Tests
  • Building Microservices: Designing Fine-Grained Systems
  • Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
  • Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
  • Refactoring to Patterns
  • Clean Architecture
  • Head First Design Patterns
  • Pragmatic Thinking and Learning: Refactor Your Wetware
  • The Passionate Programmer
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • The Pragmatic Programmer: From Journeyman to Master
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
“The heart of software is its ability to solve domain-related problems for its user.” 4 likes
“A model is a selectively simplified and consciously structured form of knowledge.” 1 likes
More quotes…