【问题标题】:Using OCL and UML with Design Patterns将 OCL 和 UML 与设计模式结合使用
【发布时间】:2011-01-09 17:47:07
【问题描述】:

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

【问题讨论】:

    标签: design-patterns uml ocl


    【解决方案1】:

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

    【讨论】:

    • UML 拥有描述行为所需的几乎所有工具。序列/活动图可以显示交互。 OCL 前置/后置条件可以形式化方法/活动行为。你是否/应该/完全是另一个问题......但所有必要的结构都在那里。
    【解决方案2】:

    明显的问题是“为什么?”

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

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

    有一些关于使用 OCL 形式化模式的论文(只是谷歌)。另一个好的来源是this book。尽管基于 Eiffel,但它通过方法的前后条件将所有 GoF 模式形式化。 (所有源代码都可以在链接中找到)。

    第一次。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 2014-07-30
        • 2020-10-18
        • 1970-01-01
        • 2015-07-09
        • 1970-01-01
        • 2023-03-17
        • 2023-03-16
        • 1970-01-01
        相关资源
        最近更新 更多