Responsibilities and rewards: specifying design patterns

Responsibilities and rewards: specifying design patterns
复制标题

DOI:
10.1109/icse.2004.1317488
复制
发表时间:
2004-05
期刊:
Proceedings. 26th International Conference on Software Engineering
影响因子:
--
通讯作者:
N. Soundarajan;J. Hallstrom
N. Soundarajan;J. Hallstrom
中科院分区:
其他
文献类型:
--
作者:
N. Soundarajan;J. Hallstrom

文献摘要

被引文献

相似文献

设计模式为系统设计人员提供了如何构造单个类或类组的指导,以及这些类之间交互的约束,使他们能够实现灵活可靠的系统。模式通常被非正式地描述。虽然这种非正式的描述是有用的,甚至是必不可少的,但如果我们想确保设计人员精确而明确地理解应用给定模式时必须满足的需求,并能够可靠地预测结果系统表现出的行为,我们还需要模式的正式特征。在本文中,我们开发了一种方法来形式化设计模式。设计者必须满足的关于类的结构以及相关方法所表现出的行为的要求,在模式规范的责任组件中被捕获;通过应用模式所产生的好处,在所产生的系统保证表现出的特定行为方面,在奖励组件中被捕获。许多设计模式的一个重要方面是它们的灵活性;我们的方法旨在确保在模式的形式化中保留这种灵活性。我们通过将其应用于标准设计模式来说明该方法。
Design patterns provide guidance to system designers on how to structure individual classes or groups of classes, as well as constraints on the interactions among these classes, to enable them to implement flexible and reliable systems. Patterns are usually described informally. While such informal descriptions are useful and even essential, if we want to be sure that designers precisely and unambiguously understand the requirements that must be met when applying a given pattern, and be able to reliably predict the behaviors the resulting system exhibits, we also need formal characterizations of the patterns. In this paper, we develop an approach to formalizing design patterns. The requirements that a designer must meet with respect to the structures of the classes, as well as with respect to the behaviors exhibited by the relevant methods, are captured in the responsibilities component of the pattern's specification; the benefits that results by applying the pattern, in terms of specific behaviors that the resulting system is guaranteed to exhibit, are captured in the rewards component. One important aspect of many design patterns is their flexibility; our approach is designed to ensure that this flexibility is retained in the formalization of the pattern. We illustrate the approach by applying it to a standard design pattern.