TY - JOUR
T1 - Enhancing class commutability in the deployment of design patterns
AU - Ng, T. H.
AU - Cheung, S. C.
PY - 2005/9/1
Y1 - 2005/9/1
N2 - 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.
AB - 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.
UR - https://www.webofscience.com/wos/woscc/full-record/WOS:000231483000003
UR - https://openalex.org/W1979737487
UR - https://www.scopus.com/pages/publications/23744488279
U2 - 10.1016/j.infsof.2005.01.004
DO - 10.1016/j.infsof.2005.01.004
M3 - Journal Article
SN - 0950-5849
VL - 47
SP - 797
EP - 804
JO - Information and Software Technology
JF - Information and Software Technology
IS - 12
ER -