That a design textbook would not describe information hiding seems akin to the response that Michael Stipe, leader of the rock group R.E.M., gave when asked to describe the Beatles' influence on his music. He said he doubted that he had ever listened to a whole Beatles album. They are irrelevant, he said. As a musician and composer, Michael Stipe has missed something by not listening to the Beatles. As software designers and implementers, some of us have missed something by not thoroughly acquainting ourselves with information hiding.
Information hiding is part of the foundation of both structured design and object-oriented design.
In object-oriented design, it gives rise to the concepts of encapsulation and modularity, and it is associated with the concept of abstraction. It doesn't require or depend on any particular design methodology, and you can use it with any design approach. In the 20th Anniversary edition of The Mythical Man-Month , Fred Brooks concludes that his criticism of information hiding was one of the few ways in which the first edition of his book was wrong. As incremental, evolutionary development styles become more popular, the value of information hiding can only increase. Suppose you have a program in which each object is supposed to have a unique ID stored in a member variable called ID .