Information Hiding

Notice that in reality I have only the vaguest of ideas what really happens once I leave my message with Flo. I only know that if I give her the appropriate message, the desired action, namely, my friend receiving the flowers, will occur.

In computer science we elevate this rather obvious observation by giving it a name, information hiding. The idea of messages naturally suggests information hiding, since the message is simply a request, and does not contain any explicit direction as to how the request is to be honored.

In real life this idea may seem obvious, but it turns out to be a surprizingly important key in controlling the complexity of large software systems. Large systems can be designed as a collection of interacting agents, each providing a service to the others. If the principles of information hiding are observed, then these services can be developed (say, by different members of the programming team) in isolation from each other.

[audio] 17 [real] 17 Text to accompany slide 17, in Chapter 1 of An Introduction to Object-Oriented Programming