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

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

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

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
По умолчанию Наследование или условная компиляция?

Имеем достаточно большой проект, настройка контента находится в xml файлах, нужно написать простенький редактор контента.
В приложении есть уже классы (если говорить терминологией MVC - классы моделей, хотя MVC у нас нет...) реализующие модели/настройки объектов. В эти классах есть только "get" методы, для чтения параметров, но нет для сохранения - не предусмотрено логикой.
Сейчас стою перед выбором, в проекте редактора:
- дописать с помощью тегов условной компиляции методы сохранения
- унаследоваться от этих классов, сделав предварительно все приватные переменные защищенными.
Что посоветуете?

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

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

Старый 25.01.2011, 17:33
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 3  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
А как это:
Цитата:
- дописать с помощью тегов условной компиляции методы сохранения
Не знаю, интересно.

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
как то так:
Код AS3:
// для всех
public function get param():int{...}
// для редактора
CONFIG::editor
public function set param(value:int):void{...}
потом антом собирать, если в интсрукциях editor==true то строку включаем в сборку..
Я не совсем в теме - мимо проходил..
__________________
Отряд Котовскага

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

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
http://nanoflexer.blogspot.com/

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

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Сообщение от Волгоградец Посмотреть сообщение
А как это
Вероятно как-то так:
Код AS3:
public function get someProperty():Object
{
    return _someProperty;
}
 
CONFIG::allowSetters
{
    public function set someProperty( value:Object ):void
    {
        if( value == _someProperty )
            return;
 
        _someProperty = value;
    }
}

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

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Попробовал реализовать наследованием, получилась попа
У моделек уже есть свое наследование, и либо придется дублировать очень много кода, либо еще попробовать разобраться с "неймспейсами" и сделать композицию...

Старый 25.01.2011, 18:23
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 8  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
[В ответ на посты об условной компиляции]
Это понятно все с условной компиляцией - но при чем здесь "дописать с помощью тегов"? Дописать с помощью тэгов - это что-то типа [Bindable] - пишешь один тэг, а за тебя куча кода пишется (и то - немного не правильный пример, т.к. логика УЖЕ написана).
Вобщем, я не так понял - подумал почему-то про генерирование кода с нуля при компиляции.

P.S.: и ант не обязательно - это обычный mxmlc делает с помощью опций компилятора.

Старый 25.01.2011, 21:52
semenyakinVS вне форума Посмотреть профиль Отправить личное сообщение для semenyakinVS Найти все сообщения от semenyakinVS
  № 9  
Ответить с цитированием
semenyakinVS

Регистрация: Mar 2010
Сообщений: 137
Цитата:
Сообщение от zuxul Посмотреть сообщение
Попробовал реализовать наследованием, получилась попа
У моделек уже есть свое наследование
Ха! Вот оно и понадобилось - множественное наследование!

И интерфейсами тут не выедешь! Точнее, выедешь, но плохо.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Ха! Вот оно и понадобилось - множественное наследование!
И интерфейсами тут не выедешь! Точнее, выедешь, но плохо.
Судя по всему, Вы так и не научились пользоваться интерфейсами =)

- создаем интерфейс с перечислением get-методов
- имплементим моделью этот интерфейс
- в модели дописываем set-методы
- где нам нужно - передаем интерфейс, где нет - саму модель

Таким образом, с помощью интерфейса мы добиваемся разрешения доступа только на чтение.
__________________
...вселенская грусть

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

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

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


 


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


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