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

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

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

Регистрация: Jun 2009
Сообщений: 461
Question Внесите, пожалуйста, ясность в MCV.

По MCV: Есть контроллер (С1), есть у него модель (M1). В С1 я создаю другой объект который тоже состоит из контроллера (С2) и модели (М2), и таких объектов может быть много в С1. Мне нужно в М1 делать расчеты которые связанны со всеми объектами принадлежащие С1, а значит нужны нужны ссылки на них и при чем не конкретно на них, а на модели этих объектов (М2-Мn).

1) Правильно ли хранить ссылки на модели дочерних объектов С1 в М1?
2) Если нет то как мне обращаться к моделям дочерних объектов из M1, ведь мне нужно использовать их для расчетов.

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
1) правильно, ветвление модели (у тигера почитай)

пояни вот эту фразу: "В С1 я создаю другой объект который тоже состоит из контроллера (С2) и модели (М2)"
__________________
low +

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
1 - Модель предстваляет собой паттерн компоновщик.
2 - У базового контроллера есть ссылка на на модель.
3 - У всех контроллеров есть сслыка на базовый, через него можно получить и ссылку на базу данных (модель).
__________________
ranga

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Правильно ли хранить ссылки на модели дочерних объектов С1 в М1?
А зачем? Всегда можно сделать контрллеру публичный геттер на его модель, и тогда у Вас всегда будет ссылка на модель, если есть ссылка на контроллер.
__________________
...вселенская грусть

Старый 30.05.2011, 14:51
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 5  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Цитата:
Сообщение от incvizitor Посмотреть сообщение
1 - Модель предстваляет собой паттерн компоновщик.
2 - У базового контроллера есть ссылка на на модель.
3 - У всех контроллеров есть сслыка на базовый, через него можно получить и ссылку на базу данных (модель).
Во...... вот так делать правильно. Тобишь чтобы мне что-то посчитать в базовой моделе, мне нужно чтобы базовый контроллер обратился к каждому дочернему контроллеру, а тот в свою очередь обратился к модели под объекта, взял нужные данные, вернул базовому контроллеру, и когда собрал все данные с под объектов отправил в базовую модель чтобы та что-то там посчитала. И изменила данные внутри себя.

Вот лично мне кажется что это чесать левое ухо правой ногой. По этому ищу решения попроще. Если посоветуйте, будет вообще замечательно.

Добавлено через 15 минут
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
А зачем? Всегда можно сделать контрллеру публичный геттер на его модель, и тогда у Вас всегда будет ссылка на модель, если есть ссылка на контроллер.
Вот это интересный вариант, только Громадный. Спасибо.

Старый 30.05.2011, 16:48
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 6  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Да, сори, забыл написать что модель public. То есть из либого контроллера можно достучатся до либого элемента данных добавленых в основную модель.
__________________
ranga

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

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

1. C1 содержит в себе М1.
2. М1 состоит из нескольких маленьких моделей SM1-SMn(SmallModel) (ну массив дочерних моделей или как-то так)
3. С1 имеет ссылки на все Дочерние контроллеры. Так же С1 подписывается на их Ивенты.
4. если надо что-то поменять по инициативе Дочернего контроллера он просто диспатчит событие (на которое подписан С1) "Контроллер поменяй модель"
5. ...
6. PROFIT

//******
З.Ы. Я бы тут диспатчил не Event а DataEvent - так как ДатаИвент может в своем теле содержать еще и строку кроме самого типа. Таким образом грамотно продумав систему сообщений можно обойтись без создания своего класса ивента.

Добавлено через 1 минуту
Публичный геттер на модель я хз. Чтоб геттером воспользоваться надо ссылку иметь, а чтоб дочерние контроллеры на родтеля ссылку имели - это уже не ок. Так что в попу публичный геттер на модель.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 30.05.2011, 20:36
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 8  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Dukobpa3, хм... интересный вариант, но мне непонятно кто создает SmallModels.

Например С1 создал подобъект c2 и по идеи м2 должен создавать с2, но у него нету ссылки на М1. И как правильно создавать м2 в М1?

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

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

Цитата:
м2 должен создавать с2, но у него нету ссылки на М1
Правильно, но он может задиспатчить событие в главный контроллер с просьбой создать и выдать ссылку.

Добавлено через 2 минуты
Главный контроллер видит такое событие с такой просьбой, обновляет главную модель, создает в ней меаленькую модель и пихает ссылку на эту маленькую модель в маленький контроллер.

Это как один из вариантов. Можно же не давать ссылку на маленькую модель в маленький контроллер, а менять всю модель большим контроллером исключительно по событиям_просьбам от маленьких контроллеров.

Как еще один вариант - главный контроллер изначально создает модель с ее дочерними моделями. Потом создает пачку контроллеров, потом в эти контроллеры передает ссылки для маленьких моделей.

Добавлено через 3 минуты
Всё зависит от требований всего приложения или текущего модуля. В любом случае передавать ссылку народителя в дите - плохой вариант.

Добавлено через 5 минут
В большинстве случаев при такой структуре можно обойтись без маленьких контроллеров. А оперировать исключительно одним большим контроллером в котором будет большая модель и большая вью. Большая модель будет в себе содержать кучу маленьких моделек, а большая вью будет в себе содержать кучу маленьких вьюшек которые будут связаны с маленькими модельками. А рулить всем будет один большой контроллер.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 30.05.2011, 20:45
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ну ладно, я пошел жарить попкорн
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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