fol*_*one 41 oop design-patterns functional-programming scala
是否已经有任何Scala等语言的最佳实践集合?
我找到了关于函数式语言的设计模式,功能性战略编程的设计模式的工作.有OO语言的GoF设计模式.但功能性OO混合动力车是否有任何模式?我所看到的只是这个清单.什么是已知的?
San*_*ozi 19
Bill Venners的两种模式; 我认为两者都在ScalaTest中大量使用:
Stackable Trait(在结构上类似于装饰器图案,除了它涉及用于类组合而不是对象组合的装饰).
无私特质(允许图书馆设计师提供其客户可以通过mixin或导入访问的服务).
表达式问题的独立可扩展解决方案 - 就像"可扩展的组件抽象"一样,它不是模式目录,但它也处理类似的问题(例如访问者模式)
我们还可以将Haskell类型的Scala仿真视为一种设计模式.第一个描述(我至少可以找到)是在 穷人的类型类中.此主题还提供了一些博客条目.
如果我还提到各种monad,我想我并不完全错.你可以找到很多处理它们的资源.
一个经常观察到的模式非常需要一个名称,它使用curried参数列表和by-name参数创建控件抽象.
def command(expr: T)(block: => Unit) {...}
Run Code Online (Sandbox Code Playgroud)
生产
command (expr) {
block
}
Run Code Online (Sandbox Code Playgroud)