![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
1. скажем так: такой подход имеет весьма и весьма существенные недостатки.
2. решает многие проблемы. стандартизирует подход. ты сам же и обозначил проблемы: - обращения к данным используя фиксированные предположения о структуре - места в коде зависящие от структуры и размазанность. в моем случае XML рекурсивно строит сцену исходя из собственной структуры. как правило делается это одним методом, который живет в надклассе. в развернутых случаях: - получением XML списка соответствия классов - получение собственно XML данных - переход на первый узел - получение ссылки на класс для построения экземпляра (в зависимости от признаков узла, например имя узла, тип узла или некий атрибут -- по ситуации) - добавление экземпляра на сцену, возможно статическим методом класса, передача экземпляру ссылки на узел. -- в экземпляре: инициализация, сообщение узлу о себе -- при необходимости вызов построения дочерних экземпляров на основе переданного узла --- в экземпляре.... так рекурсивно строится вся сцена. |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
и еще добавлю: можно испоганить всё что угодно.
самые хорошие принципы при неправильном использовании совершенно бесполезны. |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
Цитата:
Являются ли они достаточными для того, чтобы решить, что сценарий, для которого они храктерны, если не худший, то по крайней мере не рекомендуемый к использованию без тщательного исследования последствий в каждом конкретном случае применения?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
[+ 1.11 12.07.2005]
[+1.3 16.01.08]
Регистрация: Sep 2003
Сообщений: 125
|
Не читал, что тут написано ( может и не в тему буду ), но по топику:
- с XML обращение как с массивом , поэтому переводить в другие форматы смысла нет. - небольшое количество переменных лучше пользовать LoadVars, большое кол-во - XML - К любому NODE можно обращаться по ID , независимо на каком уровне он находиться. |
|
|||||
|
.grin! wuz here
|
Цитата:
__________________
Breakcore them all! |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
|
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
[+ 1.11 12.07.2005]
[+1.3 16.01.08]
Регистрация: Sep 2003
Сообщений: 125
|
в 8рке поддерживаеться idMap или как массив xml[id1][id2][id3]
|
|
|||||
|
Цитата:
Тоесть во избежание Цитата:
Ну тогда вся разница только в том, что Цитата:
Если поступать так, то нету ПРИНЦИПИАЛЬНОЙ разницы как работать. используя такой метод теряються все преимущества и недостатки хмл, которые описывались выше. Единственый +: не нужно опять сериализовать для отправки на серевер. Единственый -: ето медленее (при большых обемах данных ты поразишся насколько). |
|
|||||
|
.grin! wuz here
|
Mokus, ты предлагаешь сперва загрузить хмл, перевести в нужный тебе вид, и потом начать раздачу слонов? т.е. после этого привязывать результат парсинга к инстансам, при чём попутно создавая свой собственный api?
поясню схему ива: - мы работаем ИСКЛЮЧИТЕЛЬНО с хмл. все пересчёты завязаны на него, - навигация по узлам стандартизована. - вся перерисовка происходит только по окончании рассчётов (обязательное условие для игр, например) - безбоязненно создаём-удаляем инстансы с сохранением свойств (увеличение производительности при минимальных трудозатратах) всё это можно, конечно, проделать и с собственным объектом, но налицо 3 минуса: 1) сериализация 2) одноразовость парсеров. иначе ни о каких оптимизациях по сравнению с хмл речь не идёт 3) уникальность (одноразовость, а отсюда и сумбурность) API. вот вам принципиальная разница. минусы хмл не в медленности, а в зависимости от конкретной структуры (почти обязательно древовидная), да и то далеко не всегда. опять же всё зависит от подхода и реализации.
__________________
Breakcore them all! |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|