Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Почему все свойства объекта получают тип "object" ? (http://www.flasher.ru/forum/showthread.php?t=90328)

WindWalker 16.07.2007 15:58

Наши вопросы касаются совершенно разных кодов и подходов.
Я спрашивал по поводу кода, приведённого iNils.

Подозреваю, что единственный способ разрешить его проблему - добавить ещё один параметр (индекс) и в теле метода завести счётчик.
Что получается совсем уж некрасиво и тормозно.

Dr.OH 16.07.2007 16:35

вот это реально дурдом )
тема вообще с другого начиналась, но раз уж понеслось, то, по-моему это немножко странный подход подбирать пример использования xml-данных под сами данные... обычно как-то наоборот бывает... (это я про пример, что взяли xml, раскидали его по клипам, там еще раз раскидали и еще:) )
ок, я никак не пойму чем не устраивает нормальная архитектура вида:
object(корень):
- name (имя)
- attributes(массив аттрибутов)
- cdata (текст)
- nodes (массив аналогичных объектов)
и пара вспомогательных методов для доступа к nodes.
Реализация по своему вкусу, хоть бинарное дерево строй, если структура сложная и нужен быстрый поиск.
оффтоп: может я чего не понимаю, но чего это за класс у которого все методы и свойства статические??? и как им потом пользоваться... или это такой извращенный вариант синглета???.. и зачем создавать класс с единственным методом, да еще и статическим?

WindWalker 16.07.2007 17:04

Цитата:

Сообщение от Dr.OH
ок, я никак не пойму чем не устраивает нормальная архитектура вида:
object(корень):
...
- nodes (массив аналогичных объектов)

1. Поиск нода выглядит громоздко (вложенные циклы для беготни по массивам детей).
2. В некоторых случаях поиск будет осуществляться дольше: пробежались в цикле - взяли один нод, снова пробежались по тому же массиву - взяли второй и т.д.

etc 16.07.2007 17:08

Цитата:

Сообщение от Dr.OH
оффтоп: может я чего не понимаю, но чего это за класс у которого все методы и свойства статические??? и как им потом пользоваться... или это такой извращенный вариант синглета???.. и зачем создавать класс с единственным методом, да еще и статическим?

Вместо _global. Мы же все-таки за ооп, как никак, да?

iNils 16.07.2007 23:28

Цитата:

Сообщение от WindWalker
1. Поиск нода выглядит громоздко (вложенные циклы для беготни по массивам детей).
2. В некоторых случаях поиск будет осуществляться дольше: пробежались в цикле - взяли один нод, снова пробежались по тому же массиву - взяли второй и т.д.

По какому признаку брать нод? По имени нода или чего? Если имени нода, то ведь их может быть несколько одинаковых, как иначе без цикла?
В последнее время я использую xml построенного на идеи древовидного id. То есть почти каждый потомок имеет id построенного из id предка + свой: /map/ > /map/city/ > /map/city/street/ и тд. Таким образом до нода я могу достучаться обычным способом и по абсолютному адресу.

Dr.OH 17.07.2007 00:18

WindWalker, это уже каждый может реализовывать как хочет, балго проблема поиска уже имеет сотни решений (характерный пример БД), если ты считаешь, что поиск будет осуществляться медленно, то просто попробуй применить другой алгоритм сортировки и поиска. не вопрос... т.е. это как бы дело вкуса каждого. или вот пример iNils - тоже вариант. А если ноды называются одинаково, то сделать функцию аналог "SELECT smth WHERE smth=val".
__etc, нет, ну не стоит ведь доходить до абсурда. ООП - это метод решения задач, позволяющий не запутаться и избежать кучи ошибок, а не самоцель... я конечно понимаю, заставь дурака Богу молиться, но по-моему это очень некрасивый вариант, который точно никогда не стоит использовать.

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

etc 17.07.2007 00:24

Цитата:

Сообщение от Dr.OH
__etc, нет, ну не стоит ведь доходить до абсурда. ООП - это метод решения задач, позволяющий не запутаться и избежать кучи ошибок, а не самоцель...

В AS2 нет _global. Точка. Даже без запятых.

Dr.OH 17.07.2007 00:29

тогда вообще не понял - к чему здесь global??? и чем root не global (классно звучит :) )?

etc 17.07.2007 00:31

В AS2 классах не должно быть никаких _root и _global. Это не так уж и сложно соблюсти.

iNils 17.07.2007 00:36

Цитата:

Сообщение от __etc
В AS2 классах не должно быть никаких _root и _global. Это не так уж и сложно соблюсти.

В принципе да, но есть но:
_root, в смысле _level0 есть когда идет запрос к flashvars...
_global я часто использую, когда в FlashDevelop нужен setTimeout, иначе он ругается. А вобще, если _global используется в качестве get, а не set, то ничего страшного.


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

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