![]() |
|
||||||||||
|
|||||
|
Немного не флешовый вопрос.
Рисую архитектуру сервера на питоне. Прошу поглядеть и поправить. Заранее спасибо. И второй вариант: Я слегка запутался))
__________________
Кто к нам с чем для чего - тот у нас того от того. Последний раз редактировалось Dukobpa3; 03.03.2011 в 23:46. |
|
|||||
|
Про бильярд.
Вьюха которая гоняет шары, это уже полноценный модуль, который я бы тоже строил по архитектуре МВЦ. То есть есть большое МВЦ - это весь проект клиента. Там команды выполняют бизнес-логику своего уровня (счет, победа, новая игра). И вот одна из вьюх большого МВЦ тоже устроена по схеме МВЦ - это маленькая МВЦ. Там есть своя модель, которая хранит координаты шариков, и свои команды, которые по enter frame гоняют шарики. Если мы захотим сделать минимэп бильярдного поля - нет проблем, делаем в Большом МВЦ команду, которая будет спрашивать убольшой вьюхи координаты всех шаров. А большая вьюха хранит эти координаты в маленькой модели.
__________________
Сам себе репортер |
|
|||||
|
Мне очень нравится сравнение конструирования ПО со строительством. (Шаблоны проектирования вначале появились именно в архитектуре зданий=))
Так вот если мы строим город, то применяем некоторый шаблон. У нас есть спальные районы, бизнес-районы, парки отдыха. Если увеличить масштаб, то можно увидеть повторение этого же шаблона - в каждом районе есть столовая, детсад и школа. Если еще увеличить, то в каждой квартире есть спальня, кухня, рабочий кабинет. Опять тот же шаблон. Так почему в проекте один шаблон ДОЛЖЕН быть применет ТОЛЬКО ОДИН раз? Добавлено через 4 минуты Dukobpa3, не сомневаюсь. Я внимательно читаю эту тему, как и все остальные темы в которых я пишу. Потому и еще раз напомнил, про вложенность. А то про это как то забывается у многих
__________________
Сам себе репортер |
|
|||||
|
Регистрация: Mar 2009
Адрес: this.x=0;this.y=0;this.z=0
Сообщений: 89
|
Вот меня сильно интересует вложенность
предположим /*********************************************** ** класс главной вьюшки ** ***********************************************/ package { public class View extends Sprite { private var _model:Model; public function View(model) { _model = model; this.addListener(MouseEvent.MOUSE_CLICK, onMouseClickAddNewMVC); } private function onMouseClickAddNewMVC(e:MouseEvent):void { var cController:CarController = new CarController(this); } } } /*********************************************** ** класс КарКонтроллер ** ***********************************************/ package { public Class CarController { private var _host:View; public funcrion CarController(parentView) { _host = parentView; var cModel:CarModel = new CarModel(); var cView:CarView = new CarView(cModel); _host.addChild(cView); } } } |
|
|||||
|
Dukobpa3, terbooter, фух, вы меня успокоили =) Да, у меня каждый элемент тоже триада. etc мне говорил про самую "большую" структуру приложения, а я больше углублялся именно в "мелкие". Теперь всё укладывается в моё понимание, всем спасибо.
Добавлено через 1 минуту @cr0w312, да, правильно. Но лично мне приятней чтобы контроллер создавал контроллер и никто больше.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
я бы так делал
/*********************************************** ** класс КарКонтроллер ** ***********************************************/ package { public Class CarController { private var _view:CarView; private var _model:CarModel; public funcrion CarController() { _model:CarModel = new CarModel(); _cView:CarView = new CarView(cModel); } public function get view():CarView { return _cview; } public function get view():CarView { return _cview; } public function get model():CarModel { return _model; } } } Главный контроллер смотрит - можно это сделать или нельзя и, если можно - создает новый контроллер машинки. Затем главный контроллер получает у созданного контроллера вюшку машинки и добавляет ее в главную вьюшку
__________________
...вселенская грусть |
|
|||||
|
Регистрация: Mar 2009
Адрес: this.x=0;this.y=0;this.z=0
Сообщений: 89
|
эээ... вью слушает клик - рапортует контроллеру, тот в свою очередь создает младшийКонтроллер и пихает в него вью. младшийКонтроллер создает маладшуюМодель и младшуюВью, пихает в младшуюВью маладшуюМодель и цепляет младшуюВью к главнойВью. далее контроллеры выполняют каждый свои функции и следят за своими вьюхами через свои модели.
|
|
|||||
|
Ага, примерно так.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Lorem ipsum
|
http://ru.wikipedia.org/wiki/Model-View-Controller
Конкретно раздел "Наиболее частые ошибки". Я уже писал здесь ранее, что склоняюсь к тонкой прокладке (Controller) между логикой (Model) и ее отображением (View).
__________________
Поймай яблоко 2! |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|