Multi-View Software Evolution: A UML-based Framework for Evolving Object-Oriented Software
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Enhancing class commutability in the deployment of design patterns
Information and Software Technology
DEQUALITE: building design-based software quality models
Proceedings of the 15th Conference on Pattern Languages of Programs
A methodology to assess the impact of design patterns on software quality
Information and Software Technology
A multiple case study of design pattern decay, grime, and rot in evolving software systems
Software Quality Control
Hi-index | 0.00 |
Object-oriented (OO) design patterns define collections of interconnected classes that serve a particular purpose. A design pattern is a structural unit in a system built out of patterns, not unlike the way a function is a structural unit in a procedural program or a class is a structural unit in an OO system designed without patterns. When designers treat patterns as structural units, they become concerned with issues such as coupling and cohesion at a new level of abstraction. We examine the notion of pattern coupling to classify how designs may include coupled patterns. We find many examples of coupled patterns; this coupling may be "tight" or "loose", and provides both benefits and costs. We qualitatively assess the goodness of pattern coupling in terms of effects on maintainability, factorability, and reusability when patterns are coupled in various ways.