Next: Reuse
Up: Techniques used by Real
Previous: Techniques used by Real
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