1

有没有人尝试为具有原型和 OCL 约束的设计模式创建 UML 配置文件?我正在尝试为单例模式创建一个,但不确定如何以及从哪里开始......

4

3 回答 3

0

有很多关于模式形式化的论文,但是其中大多数都缺少一件事或另一件事,或者太复杂而无法实用。但是,如果您想尝试 OCL,将会对您有很大帮助。例如,要指定单例模式,您只需要获取给定类的所有实例并计算它们。如果你把它变成一个类的不变量,你很容易得到单例。

于 2011-01-10T10:11:26.597 回答
0

显而易见的问题是“为什么?”

您是否试图正式描述这些模式?或者将它们用作架构的构建块?还有什么?

如果是正式的描述,那么您可能不需要刻板印象。使用标准类图(根据本书)对结构进行建模,然后使用 OCL 中的前置条件和后置条件来形式化方法行为。

有一些关于使用 OCL 形式化模式的论文(只是谷歌)。另一个很好的来源是这本书。尽管基于 Eiffel,但它通过方法的前置和后置条件将所有 GoF 模式形式化。(链接中提供所有源代码)。

hth。

于 2011-01-10T09:11:28.540 回答
0

这将是困难的:很多时候设计模式需要查看对象的使用方式,就像在单例模式中一样。但大多数对象使用将发生在方法内部(对于单例,例如 [不存在] 构造函数调用)。然而,方法体通常不在 UML 中建模。

于 2011-01-09T18:18:17.470 回答