| Object-oriented programming: an objective sense of style |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 45, Citation Count: 32
|
|
|
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
|
Craig Schaffert , Topher Cooper , Bruce Bullis , Mike Kilian , Carrie Wilpolt, An introduction to Trellis/Owl, Conference proceedings on Object-oriented programming systems, languages and applications, p.9-16, September 29-October 02, 1986, Portland, Oregon, United States
|
| |
17
|
|
| |
18
|
|
CITED BY 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Boris K. Chan , Michael V. Doran , Herbert E. Longenecker, Jr., Problem analysis and solution development mechanism for DATA (abstract and references only): data to algorithm translator analysis, Proceedings of the 19th annual conference on Computer Science, p.654, April 1991, San Antonio, Texas, United States
|
|
|
H.-M. Järvinen , R. Kurki-Suonio , M. Sakkinen , K. Systä, Object-oriented specification of reactive systems, Proceedings of the 12th international conference on Software engineering, p.63-71, March 26-30, 1990, Nice, France
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Steve Freeman , Nat Pryce, Evolving an embedded domain-specific language in Java, Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|