Special

Special Print Closeout!

We're clearing out the remainder of our print issues at fire sale prices -- as much as 75% off! Quantities are extremely limited and only available while supplies last. Hurry to take advantage of this one-time offer.

RBD Magazines

Once these printed back issues are gone, they are gone!

Article Preview


Buy Now

Print:
PDF:

Feature

Information Hiding

Issue: 2.1 (August/September 2003)
Author: Charles Yeomans
Author Bio: Charles Yeomans is a software developer in Lexington, Kentucky.
Article Description: No description available.
Article Length (in bytes): 4,661
Starting Page Number: 36
RBD Number: 2117
Resource File(s): None
Related Web Link(s):

http://www.acm.org/classics/may96/
http://www.javaworld.com/javaworld/jw-05-2001/jw-0518-encapsulation.html

Known Limitations: None

Excerpt of article text...

Information hiding is a fundamental principle of software design. Unfortunately, the idea, which has been around for some thirty years, has become lost in a welter of buzzwords and methodologies.

Information hiding is the idea that each module of a program is "characterized by its knowledge of a design decision which it hides from all others", as described by David Parnas in a seminal 1972 paper, "On the Criteria to Be Used in Decomposing Systems into Modules". Furthermore (paraphrasing Parnas), information hiding dictates that the interface of a module be chosen so as to reveal as little as possible about its inner workings.

Fred Brooks, author of The Mythical Man-Month, calls information hiding "an intellectual ancestor of object oriented (OO) programming". It is indeed true that if you pick up most any book on object oriented design (OOD) and examine the key points, you'll likely find that they are paraphrases or corollaries of information hiding ("design for change", "find the objects", "assign responsibilities").

...End of Excerpt. Please purchase the magazine to read the full article.

Article copyrighted by REALbasic Developer magazine. All rights reserved.


 


|

 


Weblog Commenting and Trackback by HaloScan.com