среда, 30 декабря 2009 г.

MVP and MVC Part 1
нашел! похожая модель описана в книге 'ООП на ActionScript' (Брендан Холл) под названием MVP
Создавая анкету мы просто заполняем/добавляем поля объекта/информационной сущности Анкета, и затем сохраняем его на сервере. Добавляя вопрос, мы просто добавляем в объект новую информацию которая отражается в интерфейсе. Интерфейс просто визуализирует информационную структуру, он неразрывно связан с ней. Через интерфейс мы меняем объект, а при изменении объекта интерфейс отражает эти изменения. Визуальная связь. Мы имеем дело с данными, структурой данных, которые находят свое графическое/физическое/осязаемое выражение в интерфейсе. Это data-driven модель:
  • создаем структуру данных
  • находим её графическое выражение
  • связываем их в одно целое
  • и работаем непосредственно с данными (например добавление вопроса в объект anketa.addQuestion(param1, param2) уже должно отразиться в интерфейсе, без лишних движений)
вот по этой модели нужно строить новое приложение

когда мы вводим названия в поля - одновременно меняется объект,
с помощью интерфейса мы меняем объект, и эти изменения отражаются в самомже интерфейсе
интерфейс>объект, объект>интерфейс

а сейчас анкета на сервере трансформируется/оборачивается в xml (как транспортный формат), в приложении пере-разби-собирается в объект actionscript, и передается в интерфейс, в котором, как в станке, разрезается/расщепляется и распределяется/рассовывается по полям и прочим частям интерфейса...................... данные могут меняться, и потом нужен специальный механизм чтобы извлечь их собрать и передать на сервер...... полученный с сервера объект расщепляется чтобы показать в интерфейсе....... механизм для разрезания и рассовывания по полочкам интерфейса и механизм для извлечения и собирания.........

вместо всех этих сложных механизмов нужна модель данных (общее хранилище, или база данных), интерфейс и обоюдная связь между ними.

как это сделать практически?
  • классы данных
  • классы элементов интерфейса
  • интерфейс подписывается на события данных (например, anketa.onQuestionAdd, question.onDelete) данные подписываются на события интерфейса (title_mc.onChanged, questions_mc.onAdd)
интерфейс ничего не знает о внутреннем устройстве данных, данные ничего не знают как устроен графический интерфейс, взаимодействие происходит через их программные  интерфейсы.



вторник, 29 декабря 2009 г.

нужно переписать это приложение на AS3, это будет заодно и практический migration и откроет новые возможности для приложения (тесная интеграция с сетью) и приложение нужно не 'еще одно', а определяющее, сногсшибающее, потрясное, нужно выложиться на все 100... а потом пойти дальше....

суббота, 26 декабря 2009 г.

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

четверг, 17 декабря 2009 г.

(при обращению к серверу и загрузке - шарик крутиться)