Мое веб-приложение написано с помощью Spring MVC + Hibernate.
- Моя модель - объект "Клиент" POJO.
- У меня есть объект DAO "CustomerDAO", его метод "saveCustomer (c)" содержит код, взаимодействующий с Hibernate;
- Затем я создал " CustomerService с помощью метода" saveCustomer (c) ", который просто передает объект-клиент дао для сохранения;
- Наконец, есть "CustomerController" и customer.jsp, которые отвечают за уровень представления, поля формы jsp привязаны к объекту Customer на стороне контроллера. Контроллер вызывает службу.
Я видел, как много приложений следуют этой (лучшей) практике, но мне интересно, зачем мне нужен уровень сервиса.
Может быть, это полезно для развязывания цели: я могу показать универсальный фасад для контроллеров и ввести в сервис HibernateDAO, GaeDAO, MyDAO и т.д. Но я мог бы сделать это и без службы: используя интерфейс.
Я также утверждал: валидация. Я сделаю проверку своего Клиента в сервисе, но... это гораздо удобнее для проверки в контроллере Spring.
Помогите мне понять концепцию, пожалуйста:)