Mar*_*sco 47 java lambda design-patterns functional-programming java-8
许多人声称,GoF设计模式的最大部分只是缺少一流功能的解决方法.既然Java即将获得lambda表达式,那些模式中的哪些将受到它们的影响?哪些可以大大简化或推广?那些基本上会保持不变?欢迎任何实际的例子.
Jen*_* S. 24
我认为你会看到行为模式的最大变化.
模板方法 - 模板方法将越来越少使用,相反,我们将看到对象将函数传递给AbstractTemplate而不是继承AbstractTemplate.我在这里写了很久以前的博客:http://hamletdarcy.blogspot.ch/2007/11/groovy-closures-end-of-template-method.html
观察者模式 - 观察者变得简化,因为您不再需要保留一个观察者列表来更新新事件,而是保留一个需要在新事件上回调的函数列表.所以没有更多的Observer接口和函数对象.
状态/战略模式 - 我将这些组合在一起是因为它们在结构上是等同的,只是意图不同.策略使用变得更加普遍,因为它更容易实现.您不需要父策略和策略子类,只需要函数.因此,将函数作为参数传递很简单,实际上是使用策略模式.
总的来说,我认为任何需要单方法接口的模式都变得更容易实现.这将产生两种效果.1)我们将更多地使用这些功能模式,2)我们将停止将它们称为模式,但就像"传递函数"一样.
你做你想做的事,但我认为"JavaScript the Good Parts"给出了一个很好的介绍来利用语言中的函数.你可以拿起来看看吧!
| 归档时间: |
|
| 查看次数: |
2967 次 |
| 最近记录: |