twin,
Позвольте мне с вами не согласится.
Простые вещи надо делать просто. Вы можете мне тут возразить, что даже в простых вещах надо закладываться на усложнение. Но тогда какой смысл закладываться на усложнение, заведомо проигрышным вариантом? А я считаю, что MVC, показывает свою мощь именно в ОО реализации.
Почему я так считаю, потому что я как и все кто используют ООП прибегаю к:
наследованию - нигде не дублирую то что общно (ну и куча деталей ещё);
инкапсуляции - специфика работы той или иной разновидности определённого блока, сокрыта и не влияет на способ использования;
полиморфизм - тонкий тюнинг, эдакое undo предоставленного наследованием функционала.
А теперь что у нас есть в MVC.
Нам необходимо, 100% иметь несколько видов отображений (native templates, smarty, xslt и т.д.) и иногда замену одного на другое во время выполнения (например когда в smarty шаблон, дополняется данными сформированными XSLT шаблоном из какого-нибудь мудрёного SOAP запроса).
Что касается контролёра. Вроде всё здесь просто, вроде контролёр одна из структурно не меняющихся частей, однако это тоже не верно. Некоторые неверно понимают роль браузера. Браузер, особенно когда речь идёт о AJAX, тоже становится частью контролёра. Поэтому контролёр, тоже получается у нас для разных ситуаций может быть разным, и иногда с значительным тюнингом наследуемого функционала.
Модель. Модель в принципе не изменна, а возможность подключения к разным источникам данных, это скорее фасадные свойства. Однако не будем так усложнять, и остановимся на том, что модель нам тоже приходятся реализовывать не в единичном экземпляре.
Я выразил всего лишь свою точку зрения, как бы обозрев со своей колокольни - зачем я использую MVC, и почему только с ООП