Узел связи между моделями(mvc)
Всем привет. Вот возник вопрос по архитектуре mvc. Вот например для каждого модуля, создается свой mvc, то есть model,view,controller. Если такой модуль один всего в проекте, то понятно. Но к примеру таких модулей будет несколько, со своими mvc. Как реализуется связь между ними? Сейчас в моей текущей архитектуре, есть некое ядро, в котором реализуются все нужные мне модули и для связи, есть специальный метод, который принимает в себя параметры, type,action и info. Как это делается через mvc? Также?
|
Суть модели внутри MVC ядра в глобальности данных, ограничивать каждый модуль собственной моделью не надо.
Обменяться данными две модели могут в контроллере или в сервисе (если есть). |
Дополню сказанное выше.
С одной стороны модель это целостное консистентное хранилище состояния игры/сессии/пользователя актуальность которого должна гарантироваться в определенные моменты времени для View различными способами. В контексте MVC модуль/плагин/сцена/игровой экран - это view+controller, та часть, которая должна всего лишь утилитарно расширять функциональность приложения, но никак не дополнять/заменять модель. С другой стороны если мыслить шире, то MVC как архитектура может наблюдаться на различных уровнях приложения. В Flash тоже например наблюдается MV так как есть состояние, есть команды на отрисовку. Если опуститься ниже то в OpenGL тоже есть хранилище состояния, есть различные программы для отображения этого состояния. На server стороне тоже есть database, есть ввод и вывод в виде различного api/restapi. model+view везде, так вот чтобы обеспечить функционирование вот этих различных мало связанных между собой MV должна использоваться контрактная система https://ru.wikipedia.org/wiki/Контра...ограммирование https://ru.wikipedia.org/wiki/Принци...Барбары_Лисков |
Часовой пояс GMT +4, время: 02:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.