- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近涉足函数式编程 (FP) 领域,想知道如何为中等规模的应用程序“进行函数式思考”?特别是w.r.t。 FP的分析与设计。
通过 OOP,我们被训练去思考对象、它们的属性和关系。我们使用类和序列图对我们的分析/设计进行建模。然而,在为 FP 设计时,相同的模型似乎不合适。函数式编程的等效建模范例是什么?似乎 DFD 可能很合适,但我可能错了。
例如:我正在考虑设计一个模拟大富翁,使用 Haskell 的棋盘游戏,只是为了学习语言。在做 OOAD 时,你会想出像 board
这样的类。包含 items
具有附加到它的属性/方法。你有 player
以及可以在类图中捕获的各种其他对象及其关联关系。以及它们在序列图中的交互。然而,这些建模范式似乎不能很好地转移到函数式程序中。所以只是“如何”在功能上建模?
注意:我正在寻找可以解释如何分析和设计功能程序的具体引用资料/示例,因为我来自于一种高度面向对象的思维/建模方式。
最佳答案
根据西蒙·佩顿·琼斯的说法:
The language in which you write profoundly affects the design of programs written in that language. For example, in the OO world, many people use UML to sketch a design. In Haskell or ML, one writes type signatures instead. Much of the initial design phase of a functional program consists of writing type definitions. Unlike UML, though, all this design is incorporated in the final product, and is machine-checked throughout.
undefined
在设计阶段。
关于oop - 正如 OOAD 之于 OOP,函数式编程的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22605097/
我有两种类型的产品 - 打折(10% 折扣)和非打折(0%),每一种都可以是 LocalProduct/ExportableProduct,导出产品征收 15% 的销售税。 模拟此场景的最佳方法是什么
我正在尝试理解 OOAD 和 UML。在这个任务中,我遇到了一些情况,我觉得其中任何一个都是另一个项目的先决条件。那是在阅读 OOAD 的某些情况下,我觉得我应该事先了解 UML,在某些情况下反之亦然
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
我最近涉足函数式编程 (FP) 领域,想知道如何为中等规模的应用程序“进行函数式思考”?特别是w.r.t。 FP的分析与设计。 通过 OOP,我们被训练去思考对象、它们的属性和关系。我们使用类和序列图
我读过 Head First OOAD 第一章它有吉他示例, 吉他课 public class Guitar { private String serialNumber; private double
我是一名优秀的程序员,十分优秀!