Передача Время Joda возражает между уровнями App

Я рассматриваю использование Joda-разовый.
Я задаюсь вопросом, должен ли я обратить внимание того, какой объект мои Интерфейсы возвращают.
Возврат Joda-разовых объектов от моей интерфейсной подписи на уровне служб означает, что каждый модуль, которые используют его, будет иметь зависеть от Joda-разового вместо общего java.util. Дата API.
Вы передаете объекты Joda вокруг своих модулей Приложения, или Вы пишете обертки в определенной части Вашего приложения?

6
задан Basil Bourque 22 December 2013 в 07:54
поделиться

2 ответа

Вначале возвращает только наиболее подходящий тип (в данном случае объекты Joda).

Если вы узнаете, что у кого-то есть проблема с этим (что, вероятно, случится не слишком часто), либо добавьте метод конвертера в интерфейс (например, у вас есть getTime () и теперь getJavaTime () или getTimeInMillis () ).

Или добавьте вспомогательный метод общего назначения, который принимает объект (вы можете обрабатывать неизвестный экземпляр как объект в любом месте кода без необходимости импортировать фактические классы Joda) и возвращает простой объект Java ( java.util.Date ).

4
ответ дан 16 December 2019 в 21:38
поделиться

Что такое альтернатива? Преобразование объектов jodaTime в печально известные объекты Calendar / Date?

Вы решили избавиться от этих объектов, и это хорошее решение. Теперь, если вы позволите другим слоям использовать API даты Java, они обнаружат ошибки и бессмысленное поведение, от которых вы избавились с помощью jodaTime.

Я думаю, вам следует оказать вашим пользователям услугу и позволить им использовать jodaTime.

Конечно, это дизайнерское решение, которое добавит в их код зависимость от jodaTime, но я не считаю это сомнительным, поскольку вы выбрали jodaTime, чтобы писать меньше и лучше код, и они должны это делать.

4
ответ дан 16 December 2019 в 21:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: