Domain Modeling: How Rich Meaning Improves Your Code
The field of software design aims to make our software easier to maintain and change. But it has failed. After years of design advice, we still face unreadable code, expensive changes, and growing refactoring backlogs. Domain modeling is a deeper approach. Instead of focusing on the superficial quality of code as software design does, domain modeling focuses on encoding deep meaning. If you encode a powerful model, your code will be more expressive, with fewer corner cases, and flexible enough to accommodate change. In this talk, I will outline the primary skills needed to successfully model a domain.