<div>Скорее не ответ на вопрос, сколько мысли вслух. </div><div><br></div>MVC конечно крут, но true MVC практически никогда не используется. Каждый реализует его так как удобно в конкретном случае. В итоге получаем массу не эффективных  реализаций MVC.<div>
Думали-думали и придумали MVVM. Он прекрасно ложится на web разработку с использованием Perl. </div><div><br></div><div>Да, и Django MVT есть ни что иное как MVVM (ИМХО)</div><div><br></div><div>Все просто и понятно. </div>
<div>При этом тестируется и ViewModel, и Model. Не тестируется только java-script;</div><div><br></div><div><br></div><div><br><div class="gmail_quote">18 мая 2010 г. 14:16 пользователь Андрей П. Ковбович <span dir="ltr">&lt;<a href="mailto:akovbovich@gmail.com">akovbovich@gmail.com</a>&gt;</span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">В документации по Catalyst и в различных статьях по его использованию<br>
все чаще проповедуют принцип &quot;thin controller, rich model&quot;, т.е.<br>
делать контроллеры просто связующим звеном между View (слоем<br>
представления) и Model (моделью предметной области, т.е. слоем<br>
бизнес-логики) в задачи которого входят - принять запрос от клиента,<br>
передать его на обработку на уровень бизнес-логики (Model) и вернуть<br>
результат, пришедший от Model, клиенту в том или ином виде (View).<br>
Данный подход позволяет отделить бизнес-логику (Domain Model) от<br>
Catalyst, что делает сам Catalyst по сути обычным интерфейсом к<br>
приложению, наподобие CLI, GUI, только в веб-среде.<br>
<br>
Все это замечательно, т.к. позволяет нам сосредоточиться на &quot;M&quot; и<br>
реализовать логику приложения независимо от &quot;VC&quot;, используя весь<br>
арсенал объектно-ориентированной парадигмы, тем более что у нас есть<br>
Moose.<br>
<br>
Но... что делать с хранением объектов в реляционных БД?<br>
<br>
- Создавать свой O/R маппер под каждую сущность модели?<br>
- Возлагать ответственность по хранению своего состояния на сами объекты?<br>
- ???<br>
<br>
Кто как решает эту задачу?<br>
<br>
<br>
P.S. DBIC я не рассматриваю, т.к. он сильно привязан к схеме БД, что<br>
ограничивает создание объектов со сложной бизнес-логикой.<br>
<font color="#888888">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>С уважением<br>Михаил Шогин.<br>Tel: +7 915 0311328<br>ICQ: 266776394<br>e-mail: <a href="mailto:shogin@corp.mail.ru">shogin@corp.mail.ru</a><br>Интернет холдинг @<a href="http://mail.ru">mail.ru</a><br>
<a href="http://www.mail.ru">www.mail.ru</a><br>
</div>