Я создаю объект доступа к данным для получения информации из Google App Engine для веб-приложения, построенного на основе Spring (впервые для всех).Рекомендации по DAO (объекту доступа к данным) - примеры, которые я вижу, используют объект DAO и Services, и что является лучшей практикой здесь?
Я вижу ряд примеров, в которых используется шаблон Controller/webapp -> Service -> DAO -> JDO/Google-app-engine.
В этом шаблоне слой DAO является единственным, который знает о JDO, поэтому этот слой является единственным, нуждающимся в замене, если хранилище данных изменилось. Уровень сервисов вызывает уровень DAO и форматирует/обрабатывает необходимые данные.
Мой вопрос, почему дополнительный сервисный уровень? По крайней мере, изначально это не похоже на то, что уровень сервиса много добавляет к уравнению. Я, естественно, подумал бы просто написать слой DAO, чтобы инкапсулировать запросы JDO и манипулировать и возвращать данные.
Может ли кто-нибудь показать мне рациональное для отдельного слоя обслуживания, станет ли это очевидным, поскольку проект станет крупным и сложным?