MVVM pattern in Adobe Flex Докладчик: Мещеряков Сергей
Что это такое и для чего это нужно? 2 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY Паттерн Model-View-ViewModel это паттерн, применяющийся при проектировании архитектуры приложения. Паттерн MVVM широко применяется при создании приложений с помощью Windows Presentation Fundation и Silverlight. Первоначально был представлен сообществу Джоном Госсманом (John Gossman) архитектором WPF и Silverlight в 2005 году как модификация паттерна Presentation Model. MVVM используется для разделения модели и её представления, что необходимо, так как позволяет изменять их отдельно друг от друга. Например, программист задает логику работы с данными, а дизайнер соответственно работает с пользовательским интерфейсом.
Удобства использования 3 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY MVVM удобно использовать вместо классического MVC и ему подобных в тех случаях, когда в платформе, на которой ведется разработка, присутствует «связывание данных». В MVC/MVP изменения в пользовательском интерфейсе не влияют непосредственно на модель, а предварительно идут через Контроллер/Presenter.MVC MVP Концепция «связывания данных», позволяет связывать данные с визуальными элементами в обе стороны напрямую. Следовательно при использовании этого приема применение паттерна MVC становится крайне неудобным из-за того, что привязка данных к представлению напрямую не укладывается в концепцию MVC/MVP.MVC MVP
Структура MVVM 4 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Реализации во Flex (Model) 5 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Реализации во Flex (View) 6 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Связывание данных во Flex 7 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Реализации во Flex (ViewModel свойства) 8 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Реализации во Flex (View MXML) 9 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Реализации во Flex (ViewModel команды) 10 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Обмен сообщениями (Message) 11 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Обмен сообщениями (Messenger) 12 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Обмен сообщениями (Example) 13 SOCIAL TECHNOLOGIES DEVELOPMENT LABORATORY
Спасибо за внимание