在函数式编程中绘制 UML class 图有什么意义吗?
Is there any point in drawing an UML class diagram in functional programming?
学校项目要求我展示我使用的 UML 图 - 如果我展示 -
实现项目。但是我正在从事的项目是用 C 语言编写的,并且已经进行了功能编程。
因此我想证明在不使用面向对象语言的情况下使用 class 图是没有意义的,但我担心这不是真的并且无法证实这个假设。这对我来说似乎毫无意义,但我想知道是否是这种情况,因为以 OOP 方式思考代码可能有助于理解它的工作原理。
使用 class 图 思考和构建功能性程序的方式有什么好处吗?
当然可以。 class 图的使用不像在 classical OOP 中那么广泛,通常有一个 class 图意味着只剩下自动编码例程,但它仍然非常有用:
- 数据结构的规划(我们还是要了解数据及其相互关系)
- 创建方法的层次结构。 (根据数据和任务对方法进行分组)
- 将方法和一些特殊数据结合在一起。 (什么方法适用于什么 classes 数据)
- 如果语言支持 OOP,您可以使用 class 图表将其转换为代码。
即使您不支持任何 OOP 功能,您也可以至少从第一点获益。
实际上,可能 使用函数式编程禁止的 class 图是创建对实例有副作用的方法。这与 class 图没有太大关系。相反,没有提到 class 图来建模。相反,复合结构图是。
创建图表是有道理的。
将结构视为 class。
一个结构可能包含其他结构。
所以你有一种类型与另一种类型的关系。使用 UML,您可以为结构之间的关系建模,这在大型项目中非常有用。
如果将 file.c 专用于结构,您可以想到真正的 class,如果 file.c 的每个函数都将结构的实例作为参数。
如果您要用 OO 记录 FP,您会将 FP 偏离到 OO。这可能不是最糟糕的,但绝对 class FP 中的图表毫无意义。
但是,UML 比 class 图提供的更多。您一定会从状态图中受益。最终来自时序图。并且在有限的意义上来自序列图。后者只有在您可以显示 "information tokens" 等同于 SD 中使用的消息时才有意义。
终于可以用activity图画出更高层次的图了。
学校项目要求我展示我使用的 UML 图 - 如果我展示 - 实现项目。但是我正在从事的项目是用 C 语言编写的,并且已经进行了功能编程。 因此我想证明在不使用面向对象语言的情况下使用 class 图是没有意义的,但我担心这不是真的并且无法证实这个假设。这对我来说似乎毫无意义,但我想知道是否是这种情况,因为以 OOP 方式思考代码可能有助于理解它的工作原理。
使用 class 图 思考和构建功能性程序的方式有什么好处吗?
当然可以。 class 图的使用不像在 classical OOP 中那么广泛,通常有一个 class 图意味着只剩下自动编码例程,但它仍然非常有用:
- 数据结构的规划(我们还是要了解数据及其相互关系)
- 创建方法的层次结构。 (根据数据和任务对方法进行分组)
- 将方法和一些特殊数据结合在一起。 (什么方法适用于什么 classes 数据)
- 如果语言支持 OOP,您可以使用 class 图表将其转换为代码。
即使您不支持任何 OOP 功能,您也可以至少从第一点获益。
实际上,可能 使用函数式编程禁止的 class 图是创建对实例有副作用的方法。这与 class 图没有太大关系。相反,没有提到 class 图来建模。相反,复合结构图是。
创建图表是有道理的。
将结构视为 class。
一个结构可能包含其他结构。
所以你有一种类型与另一种类型的关系。使用 UML,您可以为结构之间的关系建模,这在大型项目中非常有用。
如果将 file.c 专用于结构,您可以想到真正的 class,如果 file.c 的每个函数都将结构的实例作为参数。
如果您要用 OO 记录 FP,您会将 FP 偏离到 OO。这可能不是最糟糕的,但绝对 class FP 中的图表毫无意义。
但是,UML 比 class 图提供的更多。您一定会从状态图中受益。最终来自时序图。并且在有限的意义上来自序列图。后者只有在您可以显示 "information tokens" 等同于 SD 中使用的消息时才有意义。
终于可以用activity图画出更高层次的图了。