Ambiguous viewpoint


Object-oriented analysis and design models are often presented without clarifying the viewpoint represented by the model. By default, these models denote an implementation viewpoint that visualises the structure of a computer program. Mixed viewpoints do not support the fundamental separation of interfaces from implementation details, which is one of the primary benefits of the object-oriented paradigm. An ambiguous or mixed viewpoint is an anti-pattern.
In object-oriented analysis and design there are three viewpoints: The business viewpoint, the specification viewpoint, and the implementation viewpoint. If the viewpoint becomes mixed then these elements will blend together in a way which makes it difficult to separate out and maintain the internals of an object without changing the interface, one of the core tenets of object-oriented analysis and design.