【发布时间】:2011-01-09 17:47:07
【问题描述】:
有没有人尝试为具有原型和 OCL 约束的设计模式创建 UML 配置文件?我正在尝试为 Singleton 模式创建一个,但不确定如何以及从哪里开始...
【问题讨论】:
标签: design-patterns uml ocl
有没有人尝试为具有原型和 OCL 约束的设计模式创建 UML 配置文件?我正在尝试为 Singleton 模式创建一个,但不确定如何以及从哪里开始...
【问题讨论】:
标签: design-patterns uml ocl
这将是困难的:很多时候设计模式需要查看对象的使用方式,就像在单例模式中一样。但大多数对象使用将发生在方法内部(对于单例,例如[缺少]构造函数调用)。然而,方法体通常不在 UML 中建模。
【讨论】:
明显的问题是“为什么?”
您是否试图正式描述这些模式?或者将它们用作架构的构建块?还有什么?
如果是正式的描述,那么您可能不需要刻板印象。使用标准类图(根据本书)对结构进行建模,然后使用 OCL 中的前置条件和后置条件将方法行为形式化。
有一些关于使用 OCL 形式化模式的论文(只是谷歌)。另一个好的来源是this book。尽管基于 Eiffel,但它通过方法的前后条件将所有 GoF 模式形式化。 (所有源代码都可以在链接中找到)。
第一次。
【讨论】:
关于模式的形式化的论文有很多,但大多数都缺少一件事或另一件事,或者太复杂而无法实用。但是,如果您想尝试 OCL,将会对您有很大帮助。例如,要指定单例模式,您只需要获取给定类的所有实例并计算它们。如果你把它变成一个类的不变量,你很容易得到单例。
【讨论】: