Assuring Good Style for Object-Oriented Programs

  • Authors:
  • Karl J. Lieberherr;Ian M. Holland

  • Affiliations:
  • -;-

  • Venue:
  • IEEE Software
  • Year:
  • 1989

Quantified Score

Hi-index 0.08

Visualization

Abstract

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.