【发布时间】:2020-02-05 12:56:47
【问题描述】:
为什么是方法:public ZonedDateTime atStartOfDay(ZoneId zone) 来自 LocalDate
和public ZonedDateTime atZone(ZoneId zone) 来自 LocalDateTime
将依赖项添加到 ZonedDateTime?
它们看起来像来自 ZonedDateTime 的“util”方法,实际上是从不应该知道任何信息的类(LocalDate 和 LocalDateTime)创建依赖项时区。
此外,还有很多“实用”方法可以添加到这些类中,以“帮助”时区。
这是架构方面的最佳方法吗?
【问题讨论】:
-
Java中最重要的模块粒度是包,这三个都在
java.time,所以看起来问题不大。 -
当您将来更改接口时,请告诉我包粒度是否对您有那么大的帮助。
-
所以它是一个 util 方法(它知道如何返回一个 LocalDate 一无所知的对象)。将来,如果您更改甚至删除 ZonedDateTime 您将影响一个什么都没有的类了解它...
标签: java architecture localdate zoneddatetime