В приложении, использующем Zend Framework 1.10 и Doctrine 1.2, где должны жить операторы DQL, если наше приложение построено так, что оно имеет слой Service Layer и Gateway (он же Doctrine_Table).
Кажется, что наши возможности включают в себя:
1) Размещение операторов DQL на слое Service, которое кажется слишком высоким в нашей иерархии приложений для хранения DQL.
2) Размещение операторов DQL в каждой таблице / шлюзе каждой модели, что кажется немного избыточным, поскольку нам также необходимо выставить операторы DQL, которые выполняют такие функции, как getAllUsers (), через уровень Service.
Какой из них является предпочтительным дизайном? Мы намерены максимально использовать уровень Service, чтобы другие проекты могли использовать различные части нашего приложения.