|
5 / 5 / 2
Регистрация: 04.07.2010
Сообщений: 200
|
|
MVC. что делать с функцией если она используется на нескольких страницах?04.12.2012, 01:12. Показов 1109. Ответов 3
Метки нет (Все метки)
не совсем понимаю объясните в MVC у каждой страницы есть файлы вид, модель, контроллер. предположим есть три страницы(все функции работают с БД)
Первая использует в модели функцию №1(находится файле модель_первая_стр); вторая использует в модели функцию №2(находится файле модель_вторая_стр); третья использует в модели функцию №3 по сути состоит из 1 и 2 функции(или другая ситуация третей странице требуется функция №1); вот что с этим делать? вынести в отдельный файл? или все таки для каждой страницы хранить функции своем файле не смешивать и не важно что код повторяется?
0
|
|
| 04.12.2012, 01:12 | |
|
Ответы с готовыми решениями:
3
Что делать с видеокартой если она начинает жужать? Что используется на внутренних страницах
|
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
| 04.12.2012, 10:02 | |
|
Если по-простому суть MVC - это как то так:
Вид - это отображение, то, что будет отображаться пользователю в итоге, там не должно быть никаких операций с данными в БД и т.п., максимум - условия если ... то, иначе ... другое. Модель - вся логика приложения, работа с данными и т.д. Контроллер - как и в названии, контроллирует процесс, как марионеток дергает за ниточки модель-вид. Получил запрос юзера, обработал - подключил нужный вид/обратился к нужной модели. Хотя, не у всех однозначное представление о MVC, кто-то считает что и в контроллере можно работать с данными (т.н. ТТУК-SFUC) А по поводу функции - если она одна и та же, то вынесите в отдельный класс и наследуйте его. Тоже самое и с видами - если в них какие то одинаковые действия - имеет смысл их вынести в отдельный файл и подключить в нужном месте, чтобы не повторяться..
1
|
|
|
|
||
| 04.12.2012, 10:14 | ||
|
Если использовать шаблон MVC то страницу не стоит рассматривать как структурную единицу со своим набором MVC. M - модель это сферический конь в вакууме. Не про какие такие страницы знать и не знает. Модель позволяет работать с данными. Извлекать, сохранять. причем в модель в писаны правила для работы с данными. Например Модель Users позволяет находить, добавлять, удалять пользователя определяет какой набор данных считается валлидным т.е. годным для сохранения и дальнейшего использования. Так же может знать о связях с другими моделями. Представления такой же "конь". Знать не знает про ваши модели. Умеет лишь показывать в нужных местах то что передается на вход. Откуда это все берется знать не знает и это хорошо. контролер это уже интересно контроллеры знают и о моделях и о представлениях. по этому их обычно много. Я делаю на каждую страницу по 1 контролеру. Теперь собственно что делать если разным страницам нужны одни и теже данные. весь код который отвечает за получение данных помещаем в модель. далее пишем 2 контролера которые дергают эту модель и передают в свои представления.
1
|
||
|
5 / 5 / 2
Регистрация: 04.07.2010
Сообщений: 200
|
|
| 04.12.2012, 11:07 [ТС] | |
|
в общем то наверное HMVC я на Kohana делаю
. спасибо всем помогли.
0
|
|
| 04.12.2012, 11:07 | |
|
Помогаю со студенческими работами здесь
4
Используется видеопамяти: 32мб, что делать Как правильно слинковать исходник, чтобы в конечном файле не было кода функции, если она не используется?
MVC запрещает ShellExecute, что делать? Подсчет и вывод документов, если она в нескольких категориях Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|