Отделение бизнес-логики от PHP Doctrine 2

Я использую symfony 2.3 и php doctrine 2.В программе представлены следующие модели:Заказ сущности - типичный заказ клиентаentity BadOrderEntry (поля: id, order - однонаправленная однозначная связь с Order, createdAt)фабрика BadOrderEntryFactory для создания объекта BadOrderEntryрепозиторий BadOrderEntryRepository для методов поиска сущности BadOrderEntryменеджер BadOrderEntryManager для методов сохранения /редактирования /удаления сущности BadOrderEntryИ ГЛАВНЫЙ КЛАСС BadOrderList - список плохих ордеров, код этого класса:Мне очень нравится дизайн этого класса.Я много думал об этом.Все замечательно.НО!Есть одна проблема: операции в методах add и remove должны выполняться в транзакциях.Код транзакции в PHP Docrine 2 выглядит так:Но как я могу вызвать этот код внутри BadOrderList?Я потратил много времени и удалил зависимости от базы данных (и соответственно PHP Doctrine 2), а чтобы опять ее создать?Теперь зависимость скрыта в классах BadOrderEntryRepository и BadOrderEntryManager.Как скрыть зависимость от механизма транзакции в классе BadOrderList?
7 голосов | спросил stalxed 4 Jpm1000000pmSun, 04 Jan 2015 17:25:10 +030015 2015, 17:25:10

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132