Всем привет, очередной вопрос назрел.
Начал изучать паттерны javaEE, делаю тестовый проект на Spring/Hibernate. Как я понимаю - основная фишка Спринга это именно IoC, то бишь избавление от зависимости на конкретную реализацию доступа к модели - DAO (верно?).
Также вводится понятие сервиса, которые работают с реализацией DAO..
Вобщем, у меня взрывается моск от таких дел, ведь получается, на одну модель Device имеем ещё 5 классов:
DeviceDAO
DeviceDaoImpl
DeviceService
DeviceServiceImpl
DeviceViewModel
Не жирно ли? Или я чего-то не допонимаю, но зачем еще и интерфейс для сервиса, есть ведь уже для DAO? Вообще, в каких случаях стоит всё это городить, если не предвидится нужды менять способ доступа к модели?
Короче, не могу разложить по полочкам.. Спасибо.