ACM SIGPLAN Notices · 1989 · 38 citations · 11 references
ComputingComputer ScienceComputer SystemsKnowledge RepresentationProgramming LanguagesSoftware EngineeringObject-oriented AnalysisObject-oriented DesignObject-oriented ProgrammingSoftware ConstructionSoftware DesignSystems ThinkingInheritance HierarchiesObject-oriented Architecture
Our initial ideas on preventive maintenance of object-oriented systems were presented in [LHR88] which describes a set of guidelines called the "Law of Demeter". As a result of this publication we have received much feedback, as well as a detailed critique from [Sak89]. In this paper we expand on the initial ideas and present a new perspective with which to view the Law. This perspective is based on client/supplier relationships between methods and classes and allows a cleaner description of the benefits of the Law. This paper is also a reply to [Sak89] which was pointing out that the formulation of the Law for C++ needs additional work.At first sight, the idea of any rules or principles being superimposed on the creative mind seems more likely to hinder than to help, but this is really quite untrue in practice. Disciplined thinking focusses inspiration rather than blinkers it.
11
Ralph E. Johnson, Brian Foote · Journal of Object-oriented Programming · 1988 · 1.1K citations
Computing, Computer Science, Design +15
Common Lisp Object System specification
Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel et al. · ACM SIGPLAN Notices · 1988 · 381 citations