在OOP中,我正在按组成的结构来构造代码,拥有很多组件,并且我对此感到满意...所有事情都整齐地放在盒子里:-)在纯FP中什么被认为是好的做法?
我猜只是一个公开组件有用的Haskell模块?我应该玩数据类型吗?
例如:在域驱动设计中:服务->存储库
纯FP中发生的变化是,我不需要所有这些对象的实例化,而现在我只拥有一些功能...心态大不相同... 在我当前的代码中,所有的依赖项都被隐藏了,就像我在代码中到处使用“静态函数”一样,这对于在OOP中进行测试非常不利...
在纯FP中,我应该怎么看?
答案 0 :(得分:0)
功能方法没有什么不同。 简要地:
(|>)
运算符之类的函数来构成函数。这不是您的方式:请勿对它们进行评估,否则您将无法实现我在这里所说的内容:请确保您的组合确实会产生新功能,您可以决定何时运行它。答案 1 :(得分:0)
亚历山大·格兰宁(Alexander Granin)开始写一本有关“功能设计与体系结构”的书,不幸的是他没有完成这本书,但他做了其中的一部分,绝对值得一读:Sources
您还将找到here的所有详细信息:
- 从FP的角度看建筑建模,需求分析,子系统设计;
- 域建模中的嵌入式和外部DSL;
- 单子作为具有效果的子系统;
- 免费monads作为功能接口;
- 其他类型的功能接口;
- FP中的控制反转(使用免费的monadic eDSL);
- STM,IO Ref,MVars作为并发应用程序状态; </ li>
- 镜头;
- 子系统设计中的状态,读取器,写入器,RWS,ST monad;
- GUI和FP;
- UML,SOLID,GRASP等主流技术和方法的适用性;
- 与不纯子系统的交互。
我希望有人会花些时间来完成它:-)