Information hiding

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 
 
Information hiding firstly came out in a paper David Parnas wrote “On the Criteria to Be Used in Decomposing Systems Into Modules” (1972 ACM). Information hiding is all about hiding design and implementation decisions.
 
Information hiding firstly came out in a paper David Parnas wrote “On the Criteria to Be Used in Decomposing Systems Into Modules” (1972 ACM). Information hiding is all about hiding design and implementation decisions.
  
Line 7: Line 6:
 
   
 
   
 
When you put information hiding into use, the starting point is to find out what part of the design is the design secret which you want to hide from others. These secrets are always within the part of the design which will always change (or possibly be changed very often). The further isolation or abstraction methodology can be applied to these parts to achieve information hiding.
 
When you put information hiding into use, the starting point is to find out what part of the design is the design secret which you want to hide from others. These secrets are always within the part of the design which will always change (or possibly be changed very often). The further isolation or abstraction methodology can be applied to these parts to achieve information hiding.
 +
 +
See the equivalent maxim [[Hide your decisions]].

Revision as of 21:43, 4 October 2008

Information hiding firstly came out in a paper David Parnas wrote “On the Criteria to Be Used in Decomposing Systems Into Modules” (1972 ACM). Information hiding is all about hiding design and implementation decisions.

In the object oriented design world, information hiding is the base concept for the well known encapsulation, modularity and abstraction. However, information hiding does not necessarily base on any particular methodology; it can be used with any methodology or approaches.

Information hiding has been recognized as a powerful technique for removing unnecessary software code rework, which brings huge benefit in the software evolving life cycle. It helps to reduce unwanted code dependencies in a large sized system, which makes later modifying a legacy code become much pleasant work since programmer only need to concern the hidden logic part rather than the usage of that particular logic within the entire application.

When you put information hiding into use, the starting point is to find out what part of the design is the design secret which you want to hide from others. These secrets are always within the part of the design which will always change (or possibly be changed very often). The further isolation or abstraction methodology can be applied to these parts to achieve information hiding.

See the equivalent maxim Hide your decisions.

Personal tools