Я рассматриваю использование Joda-разовый.
Я задаюсь вопросом, должен ли я обратить внимание того, какой объект мои Интерфейсы возвращают.
Возврат Joda-разовых объектов от моей интерфейсной подписи на уровне служб означает, что каждый модуль, которые используют его, будет иметь зависеть от Joda-разового вместо общего java.util. Дата API.
Вы передаете объекты Joda вокруг своих модулей Приложения, или Вы пишете обертки в определенной части Вашего приложения?
Вначале возвращает только наиболее подходящий тип (в данном случае объекты Joda).
Если вы узнаете, что у кого-то есть проблема с этим (что, вероятно, случится не слишком часто), либо добавьте метод конвертера в интерфейс (например, у вас есть getTime ()
и теперь getJavaTime ()
или getTimeInMillis ()
).
Или добавьте вспомогательный метод общего назначения, который принимает объект (вы можете обрабатывать неизвестный экземпляр как объект
в любом месте кода без необходимости импортировать фактические классы Joda) и возвращает простой объект Java ( java.util.Date
).
Что такое альтернатива? Преобразование объектов jodaTime в печально известные объекты Calendar / Date?
Вы решили избавиться от этих объектов, и это хорошее решение. Теперь, если вы позволите другим слоям использовать API даты Java, они обнаружат ошибки и бессмысленное поведение, от которых вы избавились с помощью jodaTime.
Я думаю, вам следует оказать вашим пользователям услугу и позволить им использовать jodaTime.
Конечно, это дизайнерское решение, которое добавит в их код зависимость от jodaTime, но я не считаю это сомнительным, поскольку вы выбрали jodaTime, чтобы писать меньше и лучше код, и они должны это делать.