Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Кто и как хранит данные в конфигах? (http://www.flasher.ru/forum/showthread.php?t=172753)

expl 17.12.2011 00:12

с одной стороны получается
- xml
- парсинг на сервере
- парсинг на клиенте
с другой
- протокол (в каком формате, кстати?)
- парсинг на сервере
- генерация на сервере
По трудозатратам примерно тоже самое (однако со вторым случаем придется повозиться с генератором swc/swf/as3).
Но, как я понимаю есть один большой плюс: работа с протоколом сосредоточена в одном месте - на сервере, т.е. осутствуют проблемы синхроницации протоколе, сложнее ошибиться на клиенте.
А если вспомнить про динамику - то сложнее ошибиться и при отправке/обработке запроса

Но, ИМХО для проектов средней сложности дешевле работать с парсингом, меньше граблей, на которые можно напороться, нет?

Цитата:

- Простите, не понял;
Я сначала подумал, что сервер парсит swf-ку :wacko:, а она еще отку-да-то генерится, но раз это не так, то вопрос не имеет смысла.

dimarik 17.12.2011 00:22

Цитата:

Сообщение от expl (Сообщение 1052039)
Но, как я понимаю есть один большой плюс: работа с протоколом сосредоточена в одном месте - на сервере, т.е. осутствуют проблемы синхроницации протоколе, сложнее ошибиться на клиенте.

Добавлю от себя, плюс в том, что моя нехилая головная боль таким образом перекладывается на серверных программистов. А я сижу и пишу доки по типизированию объектов.

Для небольших проектов, вероятно, велосипед может оказаться пятиколесным.

expl 17.12.2011 00:26

Более-менее понятно.
Т.е. протокол - это просто доки получается. А объекты то сами откуда берутся, из базы?
Или "Я клиент, ничего не хочу знать, кроме того, что здесь лежить swf со статикой, а вот на эти запросы мне вернут динамику, которую я просто дисериализую в типизированные объекты?"

А, ну у нас, кстати, были проекты, в которых хранилищем статики была не xml, а база и специальный серверный скрипт генерил xml исключительно для клиента.
Можно, наверное, было и в amf и в сериализованные типизированные объекты генерить, но как-то серверист не горел желанием трахаться с генератором, а клиентщиков вообще не напрягал парсинг.

Просто точка "!№;;!! Опять изменился протокол, где это долбаное поле?!! Что здесь должен присылать сервер!!?" была очень-очень далеко и так и не наступила по сравнению с другими проблемами.

wvxvw 17.12.2011 00:29

Цитата:

Сообщение от GBee (Сообщение 1051969)
Если использовать выше указанные классы, то первый недостаток - таковым не является.
Если писать нечто универсальное, то да.

Вот второй недостаток уничтожается при "десериализации" в нормальные объекты, при использовании вышеуказанных методов.

Замысел в том, что AS класс не нужно самому писать - его должно что-то генерить. Генерация - вопрос не сложный. Сложность заключается в правельной передаче информации. А тут XML плохо подходит, т.как нет прямого соответствия типов.
Второй недостаток никак этим не "лечится" - как вы из XML поймете, что объект создается по ссылке (т.е. не создается вообще)?

dimarik 17.12.2011 00:39

XML нужен для людей, а не ЭВМ. Передача информации в этом формате сопряжена, как сказал бы мой коллега, с большим оверхедом. Сравните русский и английский языки. Первый для передачи эмоций.
Но если вы читаете байткод как Кира Булычева, то можете игнорировать мои заявления.

wvxvw 17.12.2011 00:46

Да нет такой связи... XML - только один из возможных форматов, со своими недостатками. Вообще изначально даже не задумывался для хранения информации, только для презентации. Тот же Protobuf при том, что в исходнике не менее читаемый, не страдает такими недостатками.

Кстати, раз уж мы заговорили о презентации информации, то, например, предствить табличные данные так, как это делает SQL - это гораздо более читаемо, чем XML. Там сaрзу же и на колонки разбито, и выравнено + заголовки над колонками говорят о типе и назначении поля - гораздо удобнее что-то искать / сравнивать значения и т.п.

dimarik 17.12.2011 01:00

Да есть такая связь, есть. Но я уважаю чужое мнение и не могу с ним не согласиться.
Зачем для передачи информации (все помнят, что такое бит?) кодировать бит с оверхедом over 9000?

GBee 17.12.2011 01:59

Цитата:

Замысел в том, что AS класс не нужно самому писать - его должно что-то генерить. Генерация - вопрос не сложный. Сложность заключается в правельной передаче информации. А тут XML плохо подходит, т.как нет прямого соответствия типов.
Не могу не согласится, просто мне в этом направлении знаний/опыта пока не хватает.

Значит dimarik за честную (де)сериализацию? Где вы таких покладистых серверных прогеров находите? :о))

carrotoff 17.12.2011 12:00

Цитата:

Сообщение от dimarik
Статика вполне может быть скомпилена в swf c необходимой структурой.

dimarik, а как вы храните динамические структуры? Поделитесь опытом

dimarik 18.12.2011 22:53

Под статикой для "фермы", вероятно, подразумевались прототипы объектов в рамках предметной области приложения. Имеем один раз сформированный файл (я предложил, в формате swf) со списком таких предметов (синонимы: артикул, шаблон). Например, есть предмет на грядке protoId=1, id=1, count=2. По protoId узнаем остальные характеристики (цвет, название, стоимость, что-то еще, что общее для такого типа объекта) предмета из статического списка. Собрали с грядки один предмет (count-1), получили второй предмет protoId=1, id=2, count=1. Первый предмет изменил свой count на count=1. Так вот динамика передается сервером и определяет что остается на грядке и что собрано.

Вернемся к вашему вопросу. Динамические структуры я не храню. Я меняю модель. Если модель динамическая структура, а она динамическая, то я храню ее... в памяти ) В общем, я не понял вопроса.


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

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