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

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

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

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

Например есть ряд однотипных объектов.
Открыли один. Изменили в нем какое-то свойство, потом открыли другой, но он опять со свойством по-умолчанию, а охота чтоб с измененными.
решить можно по-разному:
- всунуть в эти объекты какое-то статик свойство, и потом его брать. - придется делать в каждом классе свое свойство с настройками.
- всунуть в потенциального родителя это свойство (не статик), и в конструктор объекта параметр, и таким образом из родителя передавать это значение в конструктор объекта. - раздует код родительского класса (а что если родители отличаются? например класс "Заметка", просто липучка на чем-попало. Родителем может быть что угодно)
- создать какой-то класс отдельный. Сделать в нем кучу статических полей, и всё пихать туда. А потом уже все объекты будут брать настройки из него. Ну такой себе глобальный здаровый класс, в котором тупо все настройки приложения впихнуть. А его уже потом подключать во все остальные классы.
- не знаю насколько валидно, но как вариант - SharedObject.

Старый 02.12.2010, 08:56
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Сделать метод clone ()
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

Например есть Софтина. У нее что-то там настраивается визуально. Например класс "Лист"
У него есть тайтл
у него есть канвас
У него есть шейп, который разграфлен в линеечку, как школьная тетрадка.

Листы эти создаются регулярно и за один сеанс много

Ну и я к примеру как пользователь растянул его на полэкрана ибо мне так удобнее. А линеечки там не просто так, а каждый промежуток между линиями отвечает за 15 минут времени.. Что-то типа ежедневника с листами. Так вот я растянул, и мне надо ставить какие-то пометки, там, рисовать отрезки временные (мышкой рисуются). И вот я как пользователь вижу одну линию, которая 15 минут, а я как разраб вижу вначале 10 пиксел между линиями, а потом уже 30.

Соответственно нужна настройка которая мне скажет о том что между двумя линиями уже не 10 а 30 пиксел.

Кроме того, как пользователь я хочу один раз (за сеанс) настроив этот лист, чтобы все остальные были такие же.
Клонировать это слегка не то получается (хотя конечно смотря как клонировать). Но мне кажется как-то не элегантно что-ли для данного случая.

К тому же у листа может быть не только эта настройка. И к тому же такие настройки могут быть практически в каждом классе.

И опять же, как быть если у меня открыто куча листов, а я изменения внес в одном. Если клонировать то мне придется пересоздавать все листы чтоб изменения вступили в силу.

Потому задумался о каком-то глобальном хранении.


Последний раз редактировалось Dukobpa3; 02.12.2010 в 09:09. Причина: Как-то или я неправильно делаю, или что, но периодически отправляю по два сообщения за раз.
Старый 02.12.2010, 12:49
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
По-сути вы говорите о MVC.
Настройки хранятся в модели, модель сообщает о изменениях, вид перерисовывается согласно изменениям.

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

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

- Мейн - контроллер
- Лист - модель
- Канвас - вид.

Контроллер у нас один.
Он создает кучу листов-моделей.
Листы-модели сообщают о манипуляциях пользователя в контроллер
Контроллер перерисовывает листы-канвасы (если поменялась какая-то глобальная настройка - то она размножается на все листы, а если что-то локальное для одного листа-модели - то только один)

Как-то так?

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Мейн - создает контроллер, модель, вид.
Модель - модель.
Контроллер - контроллер.
Лист - вид.

Добавлено через 1 минуту
Лист сообщает контроллеру, что он изменился. Контроллер меняет модель. Модель сообщает, что она изменилась. Лист (все листы) реагирует на изменения модели.

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

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

Итого:

Контроллер - контроллер
Модель - активный день (в нем так же хранятся все настройки вида)
Вид - лист (не хранит ничего кроме канваса как такового)

Поидее понял.

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Модель может быть и не одна. Например, данные одна модель, настройки – другая. То же и с контроллером и видом. Все листы это вид, все контроллеры – контроллер.

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

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

Я для себя представлял следующим образом:
Есть ОБЪЕКТ (абстрактно)
Этот объект как-то выглядит - вид
Этот объект чего-то весит - модель
Этим объектом кто-то может управлять.

Так вот я думал что вид и модель - тождественны, это как одно целое, что и являет собой ОБЪЕКТ вцелом, а контроллер - это уже как менеджер этих объектов. И у контроллера этих объектов может быть много.

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
это как одно цело
Это не одно целое.
Есть данные, самое главное что у нас есть. То что важно пользователю, единственное, что сохраняется (настройки тоже данные). Данные это – ОБЪЕКТ. Данные надо отобразить, должен же пользователь видеть свои данные. Есть некий класс, который умеет отображать данные, это – часть вида или весь вид, не важно. Он имеет ссылку на модель (это не обязательно, но для лучшего понимания примем это за аксиому) и слушает ее изменения. В зависимости от состояния ОБЪЕКТА, этот класс меняет свое состояние так, что бы адекватно отобразить данные.

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

Теги
AS3 , ООП

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

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


 


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


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