Цитата:
Сообщение от in4core
А зачем вообще нужна эта регистрация классов, что это дает ? где это может понадобится и т.п. ? Я просто сколько уже пишу, но ни разу не пользовался этим.
|
Наверное, я не совсем корректно тут задал вопрос, в общем... постараюсь еще раз подробнее объяснить ))
Вот пользователь запускает ваше приложение... игру или еще что... Все данные для инициализации хранятся на серваке, а может и локально... Вы загружаете эти данные и....
Вариант №1

Код AS3:
for (var item in myAppObjects) {
if (item == "CClassAlias_0001") {
object = new CClassAlias_001();
}
if (item == "CClassAlias_0002") {
object = new CClassAlias_002();
}
/****************************************/
}
Вариант №2

Код AS3:
// Вариант №2 (что, в принципе, не так уже сильно по моему мнению отличается от варианта 1)
for (var item in myAppObjects) {
switch(item) {
case "CClassAlias_0001":
object = new CClassAlias_001();
break;
case "CClassAlias_0002":
object = new CClassAlias_002();
break;
}
}
Вариант №3

Код AS3:
// А вот третий вариант на сегодняшний день, который я решил применить, но... тоже не очень удовлетворяет
var cls:Class;
var obj:*;
// Регистрируем все свои классы
var registerAllAlias:CMyClassAliasList = new CMyClassAliasList();
// Затем, подгрузив данные...
for (var item in myAppObjects) {
cls = getClassByAlias(myAppObjects["classAlias"]);
// Вот тут у меня тоже возникло затруднение с тем как передавать параметры...
// раздельно или целым объектом, т.к. мы же не знаем объект какого именно
// класса создается и какие ему нужны параметры и в каком порядке они должны стоять...
// Можно сделать кучу проверок, но... все же склоняюсь к передаче объекта, а уже внутри
// проверять все ли параметры на месте и т.д.
obj = new cls();
}
Одним словом, все это я навыдумал для инициализации своего приложения и хотел узнать как вообще люди инициализируют свое приложение с помощью сохраненных данных
Спасибо wvxvw за предложенные варианты, буду пробовать.