Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.03.2011, 15:45
cr0w312 вне форума Посмотреть профиль Отправить личное сообщение для cr0w312 Найти все сообщения от cr0w312
  № 1  
Ответить с цитированием
cr0w312
 
Аватар для cr0w312

Регистрация: Mar 2009
Адрес: this.x=0;this.y=0;this.z=0
Сообщений: 89
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
@cr0w312, да, правильно.
Но лично мне приятней чтобы контроллер создавал контроллер и никто больше.
эээ... вью слушает клик - рапортует контроллеру, тот в свою очередь создает младшийКонтроллер и пихает в него вью. младшийКонтроллер создает маладшуюМодель и младшуюВью, пихает в младшуюВью маладшуюМодель и цепляет младшуюВью к главнойВью. далее контроллеры выполняют каждый свои функции и следят за своими вьюхами через свои модели.

Старый 04.03.2011, 09:54
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 2  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Мне очень нравится сравнение конструирования ПО со строительством. (Шаблоны проектирования вначале появились именно в архитектуре зданий=))
Так вот если мы строим город, то применяем некоторый шаблон. У нас есть спальные районы, бизнес-районы, парки отдыха. Если увеличить масштаб, то можно увидеть повторение этого же шаблона - в каждом районе есть столовая, детсад и школа. Если еще увеличить, то в каждой квартире есть спальня, кухня, рабочий кабинет. Опять тот же шаблон.
Так почему в проекте один шаблон ДОЛЖЕН быть применет ТОЛЬКО ОДИН раз?

Добавлено через 4 минуты
Dukobpa3, не сомневаюсь. Я внимательно читаю эту тему, как и все остальные темы в которых я пишу.
Потому и еще раз напомнил, про вложенность. А то про это как то забывается у многих

Старый 04.03.2011, 15:27
cr0w312 вне форума Посмотреть профиль Отправить личное сообщение для cr0w312 Найти все сообщения от cr0w312
  № 3  
Ответить с цитированием
cr0w312
 
Аватар для cr0w312

Регистрация: Mar 2009
Адрес: this.x=0;this.y=0;this.z=0
Сообщений: 89
Вот меня сильно интересует вложенность
предположим
Код AS3:
/***********************************************
**     класс главной вьюшки                   **
***********************************************/
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);
        }
     }
 }
так верно или я путаю тёплое с мягким?

Старый 04.03.2011, 15:42
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
я бы так делал
Код AS3:
/***********************************************
**               класс КарКонтроллер          **
***********************************************/
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;
       }
     }
 }
Ну и по клику по главной вьюшке - главная вьюшка сообщает главному контроллеру, что мы хотим создать еще машинку.
Главный контроллер смотрит - можно это сделать или нельзя и, если можно - создает новый контроллер машинки.
Затем главный контроллер получает у созданного контроллера вюшку машинки и добавляет ее в главную вьюшку
__________________
...вселенская грусть

Старый 04.03.2011, 15:55
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 5  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Ага, примерно так.

Старый 26.03.2011, 15:54
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
http://ru.wikipedia.org/wiki/Model-View-Controller
Конкретно раздел "Наиболее частые ошибки". Я уже писал здесь ранее, что склоняюсь к тонкой прокладке (Controller) между логикой (Model) и ее отображением (View).
__________________
Поймай яблоко 2!

Старый 05.06.2011, 01:11
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 7  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Вот такой вопрос в разрезе MVC. Предположим использую я в программе какой-то внешний, по отношению к программе объект. Он также имеет структуру MVC. В моей программе он отображает содержимое, которое моя программа ему сообщила ранее и изменяет его, специф. образом, по сигналу моей программы. Так как же их завязывать? Какая часть этого, внешнего, объекта будет выражать его самого, что мне экземпляры контролов создавать что ли? Тогда не странно ли будет создавать контролл а добавлять на сцену переданную им ссылку, а общаться опять же через контролл? Что будет интерфейсом этого объекта? Ведь мы привыкли создавая объект, нами он написан или нет неважно, общаться с ним же, а не с его контролом. Не создается впечатления черезголовуштанынадевания?


Последний раз редактировалось fish_r; 05.06.2011 в 03:38.
Старый 05.06.2011, 23:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Если это внешний объект, то у него должен быть интерфейс модуля и работать мы с ним должны как с view если он таковым является.

Старый 06.06.2011, 00:45
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 9  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
А как это "интерфейс модуля"?
Подумал, подумал... В этом случае "фасад" подходит, который является DisplayObjectContainer-ом. Приложение общается с ним думая, что он и есть объект, а он сообщает контролу всё необходимое, в тоже время использует преимущества InteractiveObject-а (подписка на события и пр.). То есть мы можем его и "пощупать" и сказать ему что нибудь, вместо того, чтобы "щупать" одного, а говорить другому.
Как такой вариант?

Старый 09.06.2011, 15:28
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 10  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Ещё один момент есть... Сам с собой разговариваю ... . Смущает то, что контролл зачастую просто транслирует данные через свои сеттеры в сеттеры модели получается дубляж переменных в обоих классах.
Насколько плохим тоном является размещение в сеттере контролла сеттера модели? Без промежуточных переменных, когда они никак не используются в контролле, конечно. То есть получается конструкция типа:

Код AS3:
 
public class Controll() extends EventDispatcher
{
...
 
     private var _model:Model = new Model();
 
     ...
     public function get param():Object { return _model.param; }
     public function set param(obj:Object):void
     {
          if  ( _model.param === obj ) return;
           _model.param = obj;
 
     }
...


Последний раз редактировалось fish_r; 09.06.2011 в 15:39.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.