【发布时间】:2017-01-31 19:57:48
【问题描述】:
假设haskell 没有概念对象(即使它有关键字class) Haskell 开发人员如何设计他们的代码?它们如何代表交互/实体?他们有 uml 的替代品吗?或等效的课程?(或者他们甚至在乎吗?)
【问题讨论】:
-
我认为这个问题可以颠倒过来——我对 Java 程序员如何设法将所有东西硬塞进类感到困惑:)。一般来说,人们在 Haskell 中花费更多的时间来思考函数以及从一种事物到另一种事物的转换。除此之外,按照 SO 标准,这个问题现在似乎有点宽泛且无法回答。也许您可以添加一个您无法想象在 Haskell 中完成的特定示例?
-
@Alec 我不是在争论是否使用对象,我只是想知道设计是如何表达的,我对函数式编程没有任何反对
-
你一定误解了我的评论——我并没有提出支持或反对函数式编程的观点,只是因为难以传达范式的不同之处。我仍然认为这个问题没有一个例子就无法真正回答......
-
我很高兴在我的答案中添加给定 uml/类架构的“翻译”
-
这是一个有趣的问题。也许 Haskell 开发没有广泛的标准设计过程。大多数Haskellers通常谈论与数学和形式语义的联系肯定“有帮助”,这比代码风格更客观,代码风格是最好的语言习语/模式等等。一些 Haskellers(包括我,老实说)对 UML 的非正式性质感到有点不舒服。此外,架构文档适用于大型开发组——我不确定 Haskell 开发组(在同一个项目中)在全球有多大。