Я только сделал реализации уровня обслуживания, не заботился о интерфейсах (кроме тех случаев, когда мне пришлось).Я, вероятно, должен приступить к написанию интерфейсов, но пока никаких проблем.Я прекрасно выполняю модульное тестирование, не издеваясь над сервисным уровнем.
Кроме того, у меня нет слоя DAO, так как я использую hibernate, и это кажется излишним.Многие мои рассуждения основаны на этом блоге, красноречиво написано Bozho .
1006 * Я думаю, что это
довольно спорно (независимо от того, чтобы иметь DAO и спящий режим), однакоЯ вполне доволен своим решением: я передаю толстые доменные объекты, а затем просто вызываю сеанс гибернации.Каждый метод на слое dao будет буквально одной строкой (session.persist (mObject) или подобным).
Один аргумент, который я услышал против этого, был о том, что слой дао облегчит изменение / удаление orm на более позднем этапе.Я не уверен, что время, потраченное на кодирование слоя дао, в первую очередь добавленное ко времени кодирования изменения, будет меньше, чем на кодирование изменения без слоя дао.Мне никогда не приходилось менять технологию ORM там, где я работал, поэтому это небольшой риск.