| |||||
|
МВЦ не существует!
Это утверждение звучит весьма резко и вызывающе, и многие сразу начинают с ним спорить. А теперь по порядку: а) МВЦ так и не имеет канонического описания. И каждый вправе думать про него что хочет.
б) МВЦ не имеет канонического описания по факту своего появления. Его придумали и начали использовать программисты Small Talk? в программировании (исключительно!) пользовательских интерфейсов. в) Причём, если мы будем фанатично следовать триразделённости МВЦ в проектировании приложений, забывая о пункте б), что часто бывает, может возникнуть примерно такая ситуация: предположим, контроллер получает сигнал о необходимости изменений представления данных, обращается в модель за данными, модель (как достаточно высокоуровневая система) обращается к подсистеме хранения данных. И, следуя идее МВЦ, обращается она к контроллеру подсистемы, который запрашивает собственную модель, и т.д. вглубь...Это нереализуемая патовая ситуация. Любой другой вариант является отклонением от исходного разделения и удаляет нас от МВЦ. г) В свете вышесказанного особенно опасно говорить о МВЦ в приложениях, которые фактически не имеют тесной связи с клиентской частью. На мой взгляд, это все веб-приложения, за исключением, может быть, ява-апплетов. д) Все виденные мною «реализации МВЦ» для пхп (все берут корни из phptemplates.org когда он был ещё жив; не ходите туда сейчас – там чей-то пустой блог) не являются МВЦ, это плохие эмуляции. Хотя бы потому, что классический МВЦ утверждает независимость трёх компонентов. Которая отсутствует в этих эмуляциях. е) Даже полная «объектизация» языка программирования не помогает в реализации МВЦ. Нет ничего плохого, если вы используете какой-либо из ранее найденных на просторах интернета шаблонов якобы МВЦ, или даже придумали свою реализацию %) Присмотритесь к ней внимательней, и вам захочется рефакторить её и рефакторить. Не надо называть МВЦ то, что МВЦ не является. На мой взгляд, о МВЦ нельзя думать как о шаблоне (pattern) реализации или разработки, и даже говоря о МВЦ как о шаблоне проектирования, не надо закладывать в схему (в проект) эти три буквы %) Лучше уж «проект пишем, МВЦ в уме».
Вот, кажется, и всё. Это из личного опыта и опыта виртуальных коллег.
у меня пока всё 8)
зы: тоже польза
Комментариев нет.
[Показать комментарии/форму]
| |||||