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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.06.2011, 22:34
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 321  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Да... Спасибо. Надо будет посмотреть как это сделано. Интересно стало

Старый 09.06.2011, 22:53
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 322  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
в роботлегсах вообще много интересного)))

Там к примеру еще один паттерн знатный используется Dependency Injection кажись называется))

Суть в том что есть глобальный контейнер, в нем регистрируются все вьюхи, и потом любой контроллер по-умолчанию видит все вьюхи без всяких там импортов, ссылок и прочей хрени. Меня такая схема слегка коробит, но работает на ура.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 09.06.2011, 23:13
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 323  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
Там к примеру еще один паттерн знатный используется Dependency Injection кажись называется))

Суть в том что есть глобальный контейнер, в нем регистрируются все вьюхи, и потом любой контроллер по-умолчанию видит все вьюхи без всяких там импортов, ссылок и прочей хрени. Меня такая схема слегка коробит, но работает на ура.
Суть Dependency Injection как бы не в этом. Суть в том, что обычно класс в конструкторе цепляет к себе всякую фигню какую сам захочет, а в случае DI он создается весь такой счастливый и свободный, а кто-то снаружи сразу же напихивает ему всяческую фигню во все свободные отверстия. Можно и без глобального контейнера.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 09.06.2011, 23:42
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 324  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Нотификация это глобальная муть, там своя схема, вникал как-то, но на пальцах долго объяснять. Есть глобальный контейнер в котором регистрируются все контроллеры, и эти контроллеры говорят глобальному контейнеру какие нотификации им удобнее слушать. А контейнер потом получает все нотификации и растусовывает по тем кто на них подписывался.
Ну не люблю я синглтоны - не люблю. И глобальные вещи всякие - тоже.
__________________
Отряд Котовскага

Старый 11.06.2011, 00:02
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 325  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Не вижу смысла нагружать контроллер всякой чушью:
Код 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;
 
     }
...
}
Разве не будет правильно, работать с данными модели через ссылку на нее саму?
Код AS3:
public class Controll extends EventDispatcher
{
...
    /// 
    private var _model:IModel = new Model();
 
    /// Model getter
    public function get model():IModel { return _model; }
...
}
ну и далее уже как:
Код AS3:
var myControl:Controll = new Controll();
myControl.model.someParam = "lalala";
trace(myControl.model.someParam);


Последний раз редактировалось i.o.; 11.06.2011 в 00:13.
Старый 11.06.2011, 00:16
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 326  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Сообщение от i.o. Посмотреть сообщение
Код AS3:
myControl.model.someParam = "lalala";

Не забываем про Law of Demeter
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 11.06.2011, 00:55
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 327  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
Код AS3:
var myControl:Controll = new Controll();
myControl.model.someParam = "lalala";
trace(myControl.model.someParam);
Я не знаю, но мне такая структура претит. Кто бы ни был владелец этого майКонтрола, но какое он право имеет лезть в его модель? Для этого есть тот самый контрол который знает как с его моделью общаться. Я против управления внуками и правнуками вот такими методами.

Другой вопрос что тот кто имеет ссылку на майконтрол может дернуть какой-то из его методов типа: myControl.setParam();

Но не напрямую в модель. Как вариант этот setParam - может быть публичным сеттером на одно кокретное свойство модели, но не на всю модель. Аргументация - в сеттере можно прописать какие-то проверки, а если получили ссылку на модель, то пихаем данные в обход всего и даже без ведома непосредственного руководителя. Я за четкую субординацию.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 12.06.2011, 23:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 328  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Dukobpa3, Control не хранит данные и не должен их выдавать композицией на модель.

Старый 12.06.2011, 23:21
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 329  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
Dukobpa3, Control не хранит данные и не должен их выдавать композицией на модель.
Так я собственно про то же самое и говорю. Просто раз уж так охота рулить моделью чужой то лучше так.

Склонен думать о неправильной архитектуре если есть такая нужда.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 13.06.2011, 09:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 330  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Вы сами себе противоречите
Не должно быть какой-то внутренней модели, доступ к ней публичный.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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