Я интегрирую Zend Framework и Doctrine 2 и открываю для себя уровень службы.
Теперь я понимаю (я ошибаюсь?), что у меня есть две возможные архитектуры:
- модель, в которой классы содержат логику предметной области, т. е. свойства + геттеры/сеттеры + сложные методы.
- Облегченная модель, в которой классы содержат свойства + геттеры/сеттеры и слой Сервис, содержащий логику предметной области и изменяющий классы модели.
Каковы плюсы/минусы каждого?
Мне кажется странным потерять ООП, поместив доменную логику как внешнюю по отношению к модели, поэтому я не понимаю, зачем использовать сервисный уровень.