Domain-driven design
DDD might fall into the shiny object category, as many people see it as the latest trendy pattern. However, DDD builds upon decades of evolutionary software design and engineering wisdom.
To better understand it, let's briefly look at how the ideas behind DDD came about.
History of domain-driven design
DDD has its roots in the Object-Oriented Programming (OOP) concepts pioneered by Alan Key and Ivan Sutherland. The term OOP was coined by Alan Key around 1966 or 1967 while in grad school.
Ivan Sutherland created an application called Sketchpad, an early inspiration for OOP. Sutherland started working on this application in 1963. In this early version of an OOP application, objects were primitive data structures displayed as images on the screen. They started using the concept of inheritance even in those early days. Sketchpad has some similarities with JavaScript's prototypal inheritance.
OOP came about because developers and...