RE: [domaindrivendesign] Re: Domain Driven Design & Business Objects
Hi Casey and All,
For that reason, the etymology of our “terms of art” is important. Here are a couple of publications that demonstrate that the term “domain object” was in use in the Smalltalk community since at least the late 1980s:
- *http://members.aol.com/kgb1001001/Articles/LAYERS/appmod.htm - in this 1995 Smalltalk Report article, Kyle says he learned six years earlier about layered architecture, featuring a domain layer
- *http://www.macqueen.us/smalltalkReport/ST/91_95/SMAL0102.PDF - in this second-ever Smalltalk Report issue, Peter Deutsch and Adele Goldberg are quoted about equating objects with nouns in the problem domain
- *http://www.macqueen.us/smalltalkReport/ST/91_95/SMAL0408.PDF - by 1995 Tim Howard was clearly documenting what “domain object” meant in Smalltalk circles – see also http://c2.com/cgi/wiki?DomainObject
The term “entity” was clearly in use in database circles since at least 1976, when Peter Chen published his famous paper. There was also the profound 1978 book Data and Reality by William Kent, which used “entity” and remarkably foreshadowed DDD at a time when “objects” were the province of researchers and simulationists, and nowhere near the mainstream of the profession.
One of the beauties of Eric’s book is that he has brought classification to domain objects - experience with DDD over the decades has shown that there want to be different “kinds” of domain object, and Eric has nailed a useful classification. I find his choice of “entity” (to differentiate from “value”) a wise leverage of the meaning from the database tradition.
Now, on the subject of what came before what, in the late 1980s when Smalltalkers were pioneering the future of enterprise application architecture, Microsoft was still maintaining DOS and just bringing Windows 3.0 to market. It would be another decade before they and Sun would begin to confuse terminology and rediscover concepts that were already in accepted use in that influential pioneering community. You can get other parts of the story from Dealers of Lightning or Pirates of Silicon Valley, if you’re interested.
As you say, in the end, it is the design concepts that are important, but so are semantics and etymology, if we are to have clear conversations about the design concepts.