Domain-driven design (DDD) is a software development approach that centers around modeling a domain into objects based on how an expert in that domain would naturally describe it. The presentation introduces key DDD concepts like ubiquitous language, context, domain models using entities, value objects, repositories, services, and commands. It notes pros of DDD like separated business rules, readable code, and ease of maintenance, as well as cons like code overhead and a steep learning curve. The presentation concludes by thanking the audience.
21. Pros
separated layer for business rules
heavy use of OOP patterns
separation of concerns
readable code
codebase is live documentation
easy to maintain
clean code!
23. Cons
code overhead
steep learning curve
heavy use of OOP patterns
requires to change habits
things need to be named :)
24. There are only two hard things in Computer
Science: cache invalidation and naming things.
???????? -- Phil Karlton