ACM Home Page
Please provide us with feedback. Feedback
Object-oriented programming: an objective sense of style
Full text PdfPdf (1.30 MB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Conference proceedings on Object-oriented programming systems, languages and applications table of contents
San Diego, California, United States
Pages: 323 - 334  
Year of Publication: 1988
ISBN:0-89791-284-5
Also published in ...
Authors
K. Lieberherr  161 Cullinane Hall, College of Computer Science, Northeastern University, 360 Huntington Ave., Boston MA
I. Holland  161 Cullinane Hall, College of Computer Science, Northeastern University, 360 Huntington Ave., Boston MA
A. Riel  161 Cullinane Hall, College of Computer Science, Northeastern University, 360 Huntington Ave., Boston MA
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 45,   Citation Count: 32
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/62083.62113
What is a DOI?

ABSTRACT

We introduce a simple, programming language independent rule (known in-house as the Law of Demeter™) which encodes the ideas of encapsulation and modularity in an easy to follow form for the object-oriented programmer. You tend to get the following related benefits when you follow the Law of Demeter while minimizing simultaneously code duplication, the number of method arguments and the number of methods per class: Easier software maintenance, less coupling between your methods, better information hiding, narrower interfaces, methods which are easier to reuse, and easier correctness proofs using structural induction. We discuss two important interpretations of the Law (strong and weak) and we prove that any object-oriented program can be transformed to satisfy the Law. We express the Law in several languages which support object-oriented programming, including Flavors, Smalltalk-80, CLOS, C++ and Eiffel.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
D. Bobrow, L. G. D. Michiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon. Common Lisp Object System Specification. March 1988 1988. Draft submitted to X3J13.
 
2
 
3
 
4
 
5
J. Heijenoort. From Frege to Godet. Harvaxd University Press, 1967.
 
6
C. A. R. Hoare. Proof of correctness of data representations. Acfa informatica, 1:271-281, 1972.
 
7
T. Kaehler and D. Patterson. A Taste of Smalltalk. Norton, 1986.
 
8
 
9
K. Lieberherr. Object-oriented programming with class dictionaries. Journal on Lisp and Symbolic Computation, 1(2):pages unknown, 1988.
 
10
K. J. Lieberherr and I. Holland. Formulations of the Law of Demeter. Technical Report Demeter- 2, Northeastern University, June 1988. 12 pages.
 
11
 
12
 
13
 
14
D. L. Pumas, P. C. Clements, and D. M. Weiss. Enhancing reusability with information hiding. In P. Freeman, editor, Tutorial: Software Reusability, pages 83-90, IEEE Press, 1986.
 
15
D. L. Pumas, P. C. Clements, and D. M. Weiss. The modular Structure of complex systems. IEEE Transactions on Software Engineering, SE- 11(3):259-266, 1985.
16
 
17
 
18

CITED BY  32

Collaborative Colleagues:
K. Lieberherr: colleagues
I. Holland: colleagues
A. Riel: colleagues