|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Karl J. Lieberherr, Ian M. Holland, "Assuring Good Style for Object-Oriented Programs," IEEE Software, vol. 6, no. 5, pp. 38-48, September/October, 1989. | |||
| BibTex | x | ||
| @article{ 10.1109/52.35588, author = {Karl J. Lieberherr and Ian M. Holland}, title = {Assuring Good Style for Object-Oriented Programs}, journal ={IEEE Software}, volume = {6}, number = {5}, issn = {0740-7459}, year = {1989}, pages = {38-48}, doi = {http://doi.ieeecomputersociety.org/10.1109/52.35588}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - MGZN JO - IEEE Software TI - Assuring Good Style for Object-Oriented Programs IS - 5 SN - 0740-7459 SP38 EP48 EPD - 38-48 A1 - Karl J. Lieberherr, A1 - Ian M. Holland, PY - 1989 KW - class forms; good style; object-oriented programs; Law of Demeter; encapsulation; modularity; Demeter system; high-level interface; object forms; coupling control; information hiding; information restriction; information localization; structured induction; object-oriented programming; programming environments; user interfaces VL - 6 JA - IEEE Software ER - | |||
The language-independent Law of Demeter, which encodes the ideas of encapsulation and modularity in an easy-to-follow form for object-oriented programmers, is presented. The law was developed during the design and implementation of the Demeter system, which provides a high-level interface to class-based, object-oriented systems. Two forms of the law, the class and object forms, are described. Its motivation is to ensure that the software is as modular as possible. Principles covered by the law include coupling control, information hiding, information restriction, information localization, and structured induction. An example is given to show how the law is applied, and valid violations are identified. It is shown how to transform a method that does not satisfy the law into one that does.

