2016-09-29 3 views
4

Как настроить Guice, если у вас многоуровневая архитектура (DAO, Services, Controllers)?Рекомендации по настройке/привязке Guice

Он должен быть сконфигурирован в верхнем слое (контроллеры)? Или мы должны настроить в каждом слое? Если да, то как их собрать?

Как насчет тестов? Как это должно быть? Спасибо.

+0

Я лично настраиваю функцию, потому что более эффективно иметь целую функцию в одном и том же месте. пакеты явны, модули легче конфигурировать. Это требует прекратить думать о «слоях». У вас есть пакет книг, например, вы помещаете в него свою сущность 'Book', а также' BookService', 'BookDao',' BookController'. И чтобы связать все вместе, вы также помещаете свой «BookModule» в этот пакет. Поэтому, чтобы ответить на ваш вопрос, я бы реорганизовал в макет, основанный на характеристиках, затем поместил модуль в каждый пакет. –

ответ

0

В соответствии с общей практикой DAO является настолько легким насколько возможно и существует, чтобы обеспечить соединение с БД.

Сервисный уровень предоставляет логику для работы с данными, отправленными в DAO и из клиента.

Очень часто они будут объединены в один и тот же модуль, а иногда и в один и тот же код, но вы все равно увидите их как различные логические объекты.

Таким образом, вы должны связывать службы, необходимые в соответствующий модуль Guice, и вводить их в контроллеры, а также лучше предоставлять DAO для реализации уровня реализации через инъекцию.

В соответствии с методом тестирования каждый DAO должен тестироваться отдельно на стороне сервера для его функциональных возможностей, если ваша Служба не выполняет никаких функций, кроме логики, для работы с данными, отправленными в DAO и из клиента.

Смежные вопросы