|
|
|
| Здравствуйте, такое вопрос, как создавать в MVC(рабочем ) проекте страницы? я хочу сказать, к примеру я хочу как в joome создавать стати, это вообще возможно? там ведь все представления(view) через контроллер идут, значит нужно вместе с представление и контроллер на ходу как то создовать? подскажите, очень надо
практикую ASP MVC | |
|
|
|
|
|
|
|
для: Dazzl
(26.06.2014 в 17:11)
| | странно, если вы практикуете asp net mvc, и возникают такие вопросы.представления они в любой реализации mvc через контроллер, сама по себе аббревиатура mvc это предполагает. поэтому да, либо создавать новый контроллер и экшен, либо использовать существующий контроллер и создавать в нём новый экшен. естественно, вид тоже нужно создавать | |
|
|
|
|
|
|
|
для: psychomc
(26.06.2014 в 23:21)
| | В ASP.NET паттерн зашит уже в архитектуру, поэтому им можно пользоваться, не реализуя самостоятельно. | |
|
|
|
|
|
|
|
для: cheops
(27.06.2014 в 08:13)
| | автоматическая генерация кода? | |
|
|
|
|
|
|
|
для: Dazzl
(26.06.2014 в 17:11)
| | Попробуйте начать с какого-нибудь Framework-а, все-равно какого, например, Yii.
MVC - это составной паттерн и состоит из 3-х простых паттернов (Стратегия, Наблюдатель, Компоновщик). Т.е. нужно реализовать и связать три паттерна. Причем, как вы правильно заметили, у нас в Web используется не классический MVC, где точка входа является представление, а Model 2, с точкой входа в контроллере. Причем не просто точка входа, к контроллеру прикручен роутер, который дешифрует адрес в контроллер и экшен.
Как правило в экшене явно (каким-нибудь методом рендеринга) или неявно (по соглашению, типа, а давайте для метода actionIndex() будем дергать представление index.tpl) вызывается представление. В момент вызова рендеринга регистрируются переменные или массивы, которые будут переданы внутрь представления. Можно тоже неявно, а давайте все что попадает в массив $view, будет видно в представлении в виде массива $view, а мы его тихой цапой передадим в качестве параметра конструктора. А можно явно: давайте все что передано методу assing, будет доступно в представлении.
Лучше всего конечно, не писать свой собственный MVC, как вы его не пишите в ASP, а взять какой-нибудь готовый фреймворк. Тут ситуация как с созданием игрушки: есть игровые движки, на них строятся игры. Кто берет готовый движок - строит классные игры, кто сначала пишет свой движок, а потом на ней свою игру - проигрывает, так как не успевает и не выдерживает конкуренции. Так как это две разные задачи. Построение ООП-библиотеки и использование готовой ООП-библиотеки - это тоже две разные задачи. Если вы хотите построить классную ООП-библиотеку, лучше попрактиковаться с готовыми, посмотреть достоинства и недостатки, приемы и практики, которые требуются для построения современных Web-приложений. Построить с нуля без опыта хорошую ООП-библиотеку очень трудно и скорее всего первая версия будет очень неудобной. | |
|
|
|