【发布时间】:2017-08-09 08:47:37
【问题描述】:
在核心 Java 8 的日期和时间库中,即 java.time 包中的那些类中,我发现了一个特殊的共同特征:该包的每个类中都没有公共构造函数,因此所有类只能通过一些static 方法,例如of、now 等。在这个意义上,java.time 中的类类似于工厂设计模式。然而,这些类与工厂设计模式的不同之处在于工厂设计模式的本质是松散耦合代码以使用通用方法实例化各种类型的对象(通常static),因此返回对象实例的类型直到运行时才确定。
但是,尤其是。在java.time.LocalDate 和java.time.ZonedDateTime 类中,提到了关键字factory。可以从以下位置找到关键字 factory:
- https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html
- https://docs.oracle.com/javase/8/docs/api/java/time/ZonedDateTime.html
所以我想知道java.time.LocalDate 和java.time.ZonedDateTime 是否应用了工厂设计模式?如果不是,他们应用了什么设计模式?
【问题讨论】: