CSC/ECE 517 Fall 2009/wiki3 13 b5: Difference between revisions
Chump Chief (talk | contribs) |
Chump Chief (talk | contribs) |
||
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.