Data Binding in Flex

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Data Binding in Flex - Presentation Transcript

    1. Data Binding . Связывание данных во Flex Юлия Николаева http://riapriority.com/ [email_address]
    2. Вопросы для начала
      • Кто разрабатывает на Flex ?
      • Кто использовал data binding хотя бы раз?
      • Кто использовал data binding во Flash ?
      • Кто знает, что такое data binding ?
      • Flash CS 3 уже не поддерживает связывание данных
    3. Что такое связывание данных ? data binding
      • Связывание данных позволяет производить синхронизацию данных.
      • Обновляются данные  автоматически обновляется их отображение.
    4. Составляющие связывания данных:
      • source property или свойство источника данных
      • destination property или свойство получателя (адресата) данных
      • triggering event или запускающее событие
      Source property Triggering event Destination property
    5. Механизм связывания данных Destination property Source property
    6. Механизм связывания данных : изменение source property Destination property Source property изменение
    7. Механизм связывания данных : source property посылает событие Destination property Source property изменение событие изменения Triggering event
    8. Механизм связывания данных : копирование данных Destination property Source property изменение событие изменения копирование значения source property Triggering event
    9. Роль компилятора
      • добавляет в класс данных функционал рассылки событий
      • dispatch -ит событие при изменении свойства
      • подписывается на событие изменения данных
      • проводит синхронизацию при изменении данных
    10. Способы связывания данных
      • В mxml
        • использование фигурных скобок ({})
        • использование тэга < mx : Binding >
      • В ActionScript
        • использование методов BindingUtils
    11. Примеры
      • <mx:TextInput id=&quot; myTI &quot; text=&quot; Enter text here &quot; />
      • <mx:Text id=&quot; myText &quot; text=&quot; { myTI.text } &quot; />
      • <mx:List id=&quot; list1 &quot; ></mx:List>
      • <mx:List selectedIndex=&quot; { list1.selectedIndex } &quot;
      • verticalScrollPosition=&quot; { list1.verticalScrollPosition } &quot; >
      • </mx:List>
    12. Примеры
      • Использование сложных выражений:
      • ActionScript
      • E 4 X
      <mx:TextArea id=&quot; output &quot; text=&quot; { dataObj.format(dataObj.prop) } &quot; /> <mx:List dataProvider= &quot; { x ml data.person.(age==1 7 ||age>= 21 )..first } &quot; />
    13. Когда срабатывает data binding ?
      • source посылает событие изменения
      • когда приложение стартует и source посылает событие initialize
      • Поэтому часто используют событие preinitialize для определения binding -а.
    14. Использование BindingUtils
      • bindProperty
      • bindSetter
        • Нельзя использовать ActionScript и E4X
        • source property должно быть public
        • валидность проверяется только на этапе выполнения
    15. Что может стать источником связывания?
      • Правда ли, что тэг [ Bindable ] необходим?
      • источник обязательно должен быть подклассом EventDispatcher ?
    16. Что может стать источником связывания?
      • тэг [ Bindable ], [Bindable(event=&quot;eventname&quot;)]
      • Read - only get методы и константы без тэга [Bindable]
      • [Bindable] может быть весь класс
      • Array не предоставляет встроенных возможностей для связывания
    17. Предрассудки по поводу связывания
      • Лучше использовать свое событие для связывания
      • Источник связывания должен поддерживать функционал рассылки событий
      • Связывание может привести к зацикливанию
      • Связывание коллекций работает непредсказуемо
      • Связывание нереально дебажить
    18. Какой способ связывания лучше? + + Обнаружение ошибок на этапе компиляции + + Быстрая разработка + + Удобно находить в коде + Доступ к ChangeWatcher + + Можно сосредоточить все связи в одном месте BindingUtils {} фигурные скобки <mx:Binding>
    19. Опасности связывания данных
      • часто код становится менее читаемым и менее стабильным
      • трудно отслеживать сложные внутренние связи
      • Возможно нарушение инкапсуляции
      • Существует опасности утечки памяти:
        • https :// bugs.adobe.com / jira / browse /SDK-14891
        • https :// bugs.adobe.com / jira / browse /SDK-9679
    20. Q&A
      • Юлия Николаева
      • http:// riapriority.com /
      • [email_address]

    + ConstantinerConstantiner, 2 years ago

    custom

    1942 views, 2 favs, 5 embeds more stats

    Preso about data binding in Flex on RAFPUG meeting more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1942
      • 1771 on SlideShare
      • 171 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 59
    Most viewed embeds
    • 153 views on http://riapriority.com
    • 15 views on http://www.riapriority.com
    • 1 views on http://127.0.0.1:8795
    • 1 views on http://xss.yandex.net
    • 1 views on http://209.85.229.132

    more

    All embeds
    • 153 views on http://riapriority.com
    • 15 views on http://www.riapriority.com
    • 1 views on http://127.0.0.1:8795
    • 1 views on http://xss.yandex.net
    • 1 views on http://209.85.229.132

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories