Is there a story from Greek mythology about the goddess Demeter that somehow motivates the Law of Demeter? If so, I'd love to know it so I can tell it to my students when I teach this topic.
1 Answers
The Law of Demeter for Functions ("Only talk to your friends") aka the Principle of Least Knowledge and the related Law of Demeter for Concerns ("Only talk to your friends who share your concerns") were first explicitly discovered, described, defined, and named in the Demeter Project. Not only were the Laws discovered there, they are also part of the Demeter Method and thus a guiding design principle for the entire Demeter System. That's why the researchers decided to name it after the system.
As to why the system is named the Demeter System, there is this quote on the What is Demeter? site:
Agriculture
The Greek goddess of Agrigulture.
The Demeter project was named after Demeter because we were working on a hardware description language Zeus and we were looking for a tool to simplify the implementation of Zeus. We were looking for a tool name related to Zeus and we chose a sister of Zeus: Demeter.
Later we promoted the idea that Demeter-style software development is about growing software as opposed to building software. We introduced the concept of a growth plan which is basically as sequence of more and more complex UML class diagrams. Growth plans are useful for building systems incrementally.
So, essentially the name was first chosen for its coolness factor, and then the association to "growing software in small steps" was ret-conned.
- 104,619