next up previous
Next: Reuse Up: Techniques used by Real Previous: Techniques used by Real

Information hiding

Information hiding is probably the single most important principle guiding software design and construction. Goal is to achieve two forms of flexibility. Flexibility of implementation is achieved by hiding the low-level implementation aspects of a program part--the specific data representations or algorithms used--thus concentrating and hiding implementation knowledge; new implementations can be introduced without affecting the use of the program part. Flexibility of use is achieved by encapsulating the program part in such a way that only its provided functionality is visible from the outside. Information hiding is the fundament of, for instance, abstract data types, object-oriented design, and object-oriented languages. The major challenge for information hiding is how to accommodate changes in the visible interface of program parts over their life time.



Paul Klint 2001-06-12