Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Design patterns for object-oriented software development
Design patterns for object-oriented software development
Pattern languages of program design
Pattern languages of program design
Reuse contracts: managing the evolution of reusable assets
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The unified software development process
The unified software development process
The effects of design pattern application on metric scores
Journal of Systems and Software
Scenario-Based Analysis of Software Architecture
IEEE Software
Coupling of Design Patterns: Common Practices and Their Benefits
COMPSAC '01 Proceedings of the 25th International Computer Software and Applications Conference on Invigorating Software Development
Precise Visual Specification of Design Patterns
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
OO Design Patterns, Design Structure, and Program Changes: An Industrial Case Study
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Toward effective deployment of design patterns for software extension: a case study
Proceedings of the 2006 international workshop on Software quality
Work experience versus refactoring to design patterns: a controlled experiment
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Do rules and patterns affect design maintainability?
Journal of Computer Science and Technology
Human and program factors affecting the maintenance of programs with deployed design patterns
Information and Software Technology
Hi-index | 0.00 |
A design pattern provides a structure to facilitate program changes with respect to a design concern. For example, the State pattern manages object behaviour in different internal states of objects. It allows new internal states of an object to be supported with the reuse of the object context. The deployment of a design pattern in a software program comprises a set of classes following the structure of the pattern. Within the set, classes that implement the managed concern of the pattern are commuted to new ones when changes related to the concern occur. However, commutation efforts can be tedious if these classes are accessed arbitrarily throughout the software. To confine the commutation efforts, these classes should be properly encapsulated. This paper proposes design restrictions in pattern deployments to achieve proper encapsulation. The approach is illustrated by a pattern-based program that supports appointment scheduling of multiple users. Preliminary experiments show that our approach facilitates program changes subject to multiple design concerns.