[Moscow.pm] Moose и Object Persistens

Андрей П. Ковбович akovbovich на gmail.com
Вт Май 18 03:16:13 PDT 2010


В документации по Catalyst и в различных статьях по его использованию
все чаще проповедуют принцип "thin controller, rich model", т.е.
делать контроллеры просто связующим звеном между View (слоем
представления) и Model (моделью предметной области, т.е. слоем
бизнес-логики) в задачи которого входят - принять запрос от клиента,
передать его на обработку на уровень бизнес-логики (Model) и вернуть
результат, пришедший от Model, клиенту в том или ином виде (View).
Данный подход позволяет отделить бизнес-логику (Domain Model) от
Catalyst, что делает сам Catalyst по сути обычным интерфейсом к
приложению, наподобие CLI, GUI, только в веб-среде.

Все это замечательно, т.к. позволяет нам сосредоточиться на "M" и
реализовать логику приложения независимо от "VC", используя весь
арсенал объектно-ориентированной парадигмы, тем более что у нас есть
Moose.

Но... что делать с хранением объектов в реляционных БД?

- Создавать свой O/R маппер под каждую сущность модели?
- Возлагать ответственность по хранению своего состояния на сами объекты?
- ???

Кто как решает эту задачу?


P.S. DBIC я не рассматриваю, т.к. он сильно привязан к схеме БД, что
ограничивает создание объектов со сложной бизнес-логикой.


Подробная информация о списке рассылки Moscow-pm