Two views of a Software System
This separation of interface and implementation leads naturally
to two views of a software system. There is the external view,
that describes the behavior the system will exhibit, and the internal
view, that describes how that behavior is implemented.
The external user of a system needs only the external view,
while the implementator must have the very different internal view.
As we noted in Chapter one, the term information hiding is used
to describe the purposeful hiding of implementation details from
the outside world.