在函数式编程中绘制UML类图有什么意义吗?

Bad*_*dda 5 uml functional-programming class-diagram

我曾在一个学校项目上被要求显示我用来实现该项目的UML图(如果有的话)。但是我正在从事的项目是用C语言编写的,并且已进行了功能编程。因此,我想证明在不使用面向对象语言时使用类图是没有意义的,但是我担心这不是真的,并且无法证实这一假设。对我来说似乎毫无意义,但我想知道是否确实如此,因为可能以OOP方式思考代码可以帮助理解其工作方式。

使用类图来思考和构建功能程序的方式有什么好处?

Gan*_*nus 5

当然,是的。类图的使用并不像在经典 OOP 中那样广泛,通常拥有类图意味着只剩下自动编码例程,但它仍然非常有用:

  1. 数据结构的规划(我们仍然应该了解数据及其互连)
  2. 创建方法的层次结构。(根据数据和任务对方法进行分组)
  3. 将方法和一些特殊数据结合在一起。(什么方法适用于什么类别的数据)
  4. 如果该语言支持 OOP,您可以使用类图将其转换为代码。

即使您不支持任何 OOP 功能,您也始终可以至少从第一点中受益。

实际上,函数式编程禁止使用类图的唯一可能用途是创建对实例有副作用的方法。这与类图没有太大关系。相反,没有提到类图来进行建模。相反,复合结构图是。