Hiding principle: One can make a system more modular and robust by protecting parts of the system from each other; that is, by providing information access only to those parts of the system that have a "need to know"
Structure and Interpretation of Computer Programs, pg.221












