【问题标题】:Adding constructors and destructors in a UML class diagram for C++ classes在 C++ 类的 UML 类图中添加构造函数和析构函数
【发布时间】:2018-10-19 16:58:32
【问题描述】:

在为C++代码编写UML类图时,是否需要包含相关类的构造函数和析构函数?

【问题讨论】:

    标签: c++ uml class-diagram


    【解决方案1】:

    在许多情况下,向 C++ 类图中添加构造函数/析构函数只是文本样板噪音,并没有真正意义。仅当您希望图表成为 C++ 类的完整文档时,您可能需要添加构造函数。

    与下面@Marco 所说的相反,这不是底层业务逻辑的问题,而是一个纯粹的人体工程学问题,避免在(通常是复杂的)图表中出现混乱和噪音。

    【讨论】:

    【解决方案2】:

    如果构造函数是业务逻辑的一部分,则可以添加它,您只是不要添加返回类型。
    将在功能/方法部分下:
    +类名()
    我不会添加析构函数。同样,取决于您的业务逻辑是否需要它。

    【讨论】:

    • 根据目标语言(例如 Python),您可以添加 __init__(self, parms) 或某些元语言 init(parms) -> ClassName 或任何方便的内容。
    • 构造函数不能成为业务逻辑的一部分,因为构造函数是一个完全技术性的概念,而不是业务概念。
    • 不,如果实体需要某些字符存在,构造函数可以强制执行业务约束。例如,如果没有员工 ID 和姓名,员工就无法存在,这是业务逻辑。但是企业不能发布员工 ID,因为它很小并且永远不会跟踪它,所以你不会添加它,因为它不是员工的一部分。一切都是用例,这就是 UML 的乐趣所在,它适应了用例的需要,只要每个人都明白为什么,它就是正确的。
    猜你喜欢
    • 2014-05-27
    • 2011-04-29
    • 1970-01-01
    • 2017-04-01
    • 2015-06-30
    • 1970-01-01
    • 2011-04-03
    • 2010-12-16
    • 2016-09-09
    相关资源
    最近更新 更多