Внедрение принципов SOLID в Spring MVC Project с помощью Hibernate

Мы реализуем проект Spring MVC с функциональностью Hibernate. В соответствии с примером реализации SpringMVC у нас будут разные уровни с приложением. К ним относятся: Контроллер, Сервис, Сущность и Репозиторий. Бизнес-логика приложения реализуется в сервисном слое. API, предоставляемый фреймворком Spring, следует объектно-ориентированным принципам, мы просто блуждаем по поводу того, как принципы SOLID могут быть применены к классам приложения. Другими словами, как принципы SOLID могут быть применены к приложению Spring MVC Hibernate.


person Pavan Kumar Galeveti    schedule 30.11.2016    source источник


Ответы (1)


Вопрос немного абстрактный, поэтому вот общий ответ:

Я бы посоветовал взглянуть на различия между богатыми и анемичными моделями. Spring и Hibernate поощряют использование анемичной модели, которая считается антипаттерном с точки зрения объектно-ориентированного дизайна и затрудняет применение принципов SOLID.

Больше по этой теме вы можете найти в отличной книге Вона Вернона: https://rads.stackoverflow.com/amzn/click/com/0321834577

Доменно-ориентированный дизайн, описанный в книге, также может вас заинтересовать.

person Andrey Koshelev    schedule 13.03.2017
comment
Спасибо, Андрей. Я наткнулся на Domain Driven Design и просматривал книгу. - person Pavan Kumar Galeveti; 18.03.2017