When modelling complex computer systems, four primary modelling techniques are available to the software engineer, i.e. abstraction, composition, functional decomposition and multiple client interfaces (views). Abstraction and composition can directly be expressed in traditional object-oriented models and functional decomposition can often be expressed using subsystems. However, traditional object models provide no expressiveness for multiple client interfaces. This forces designers to either model all different views on a conceptual object as a large, complex implementation object or to model each view as an object and relate the different view objects. Both approaches suffer from problems of complexity, maintainability and reusability. As a solution, we propose the layered object model that allows for the expressive, flexible and extensible definition of multiple client interfaces. To illustrate the problems associated with views and our proposed solution, the domain of industrial control systems is used.