在实现Temporal方法时应用了哪种设计模式

时间:2018-05-04 17:53:28

标签: design-patterns java-8 java.time

在日期和时间包java.time中,接口plus(TemporalAmount amount)中的方法(尤其是minus(TemporalAmount amount)Temporal)在LocalDate中实现,{ {1}}和LocalTime等。 OpenJDK 中的实现源代码非常简单。

LocalTime.plus(TemporalAmount amount)为例,该方法是通过调用参数LocalDateTime的{​​{1}}方法实现的:

addTo

另一方面,当深入研究amount(LocalTime) amountToAdd.addTo(this) 方法的实现时,会调用addTo参数的重载plus方法:< / p>

Temporal

这似乎利用了一些设计模式。谁能告诉在上述实现中使用了哪种设计模式?或者它是几种设计模式的有点混合物?

1 个答案:

答案 0 :(得分:2)

如果有的话我会说Strategy会适用。因为从本质上讲,你说我将允许你提供一种执行差分计算的方法,我不关心它是如何完成的,然后你可以插入我们这里的附加装置(操作员) 。一种FP版本的战略(已经非常友好的FP)。