CSC/ECE 517 Fall 2009/wiki3 13 b5: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 20: Line 20:


== External Links ==
== External Links ==
[http://www.cit.gu.edu.au/~francis/sa2000/unit2.htm#CRITERIA Notes on application architecture] - In addition to a summary of the principle of explicit interfaces, this site has information on Meyer's other principles, and some other important criteria for good application design.
[http://en.wikipedia.org/wiki/Object-Oriented_Software_Construction Object-Oriented Software Construction at Wikipedia] - For more information on the text in which the principle was introduced.
[http://se.ethz.ch/~meyer/ Bertrand Meyer's home page] - Find other publications and research by Meyer.


== Sources ==
== Sources ==


*Meyer, Bertrand.  Object-Oriented Software Construction, 2nd edition p50.  ISE Inc., Santa Barbara, CA, 1997.
*Meyer, Bertrand.  Object-Oriented Software Construction, 2nd edition p50.  ISE Inc., Santa Barbara, CA, 1997.

Revision as of 09:22, 18 November 2009

Principle of Explicit Interfaces

Definition

The Principle of Explicit Interfaces is proposed by Bertrand Meyer in his book Object-Oriented Software Construction. It states

Whenever two modules A and B communicate, this must be obvious from the text of A or B or both.

Motivation

The Principle of Explicit Interfaces refers to the attempt to ensure that relationships between separate modules are easily found and understood. This is important when considering making a change to the code base. It allows the programmer to quickly see what other modules his work might impact, preventing unintended side effects.

Application

One area in which it may be difficult to implement interfaces while adhering to the principle of explicit interfaces is shared data. Bertrand Meyer recognizes this problem and diagrams it as:

This illustrates how two modules may interact in an indirect manner. Although the two modules do not directly interact on each other, by relying on a common resource changes to module A may impact how module B functions.

External Links

Notes on application architecture - In addition to a summary of the principle of explicit interfaces, this site has information on Meyer's other principles, and some other important criteria for good application design.

Object-Oriented Software Construction at Wikipedia - For more information on the text in which the principle was introduced.

Bertrand Meyer's home page - Find other publications and research by Meyer.

Sources

  • Meyer, Bertrand. Object-Oriented Software Construction, 2nd edition p50. ISE Inc., Santa Barbara, CA, 1997.