SlideShare a Scribd company logo
Смотрим на MVVM сквозь
Prism’у
Степан Родионов
byndyusoft
twitter.com/rodionovstepan
6-я конференция .NET разработчиков
28 апреля 2013
www.dotnetconf.ru
2MVVM via Prism, Степан Родионов
Проблемы
• Нарушение SRP
• Невозможно полноценное юнит-
тестирование
• Трудно вносить изменения
3MVVM via Prism, Степан Родионов
MVx паттерны
• MVC
• MVP
• MVVM
4MVVM via Prism, Степан Родионов
MVVM
View Model Model
UI
Data Bindings
Commands
Notifications
View
UI logic (code behind) Presentation logic Business logic and data
5MVVM via Prism, Степан Родионов
Binding на примере
6MVVM via Prism, Степан Родионов
Модульное тестирование
7MVVM via Prism, Степан Родионов
WPF & MVVM
• Prism
• MVVM Light Toolkit
• Caliburn
• Caliburn.Micro
8MVVM via Prism, Степан Родионов
Prism application
Application
Bootstrapper
Container Services Shell Modules
9MVVM via Prism, Степан Родионов
Shell
Shell
Region Region
View Views
10MVVM via Prism, Степан Родионов
Практика
11MVVM via Prism, Степан Родионов
Материалы для изучения
• Prism4: Building Modular MVVM Applications
with WPF
• compositewpf.codeplex.com
• Р. Мартин: Принципы, паттерны и методики
гибкой разработки на языке C#
12MVVM via Prism, Степан Родионов
Спасибо за внимание
Степан Родионов
byndyusoft
rodionov.stepan@gmail.com
twitter.com/rodionovstepan

More Related Content

Viewers also liked

Бутылка саке и муравей
Бутылка саке и муравейБутылка саке и муравей
Бутылка саке и муравей
Alexander Byndyu
 
Много данных, много вычислений: есть ли жизнь на Amazon'е
Много данных, много вычислений: есть ли жизнь на Amazon'еМного данных, много вычислений: есть ли жизнь на Amazon'е
Много данных, много вычислений: есть ли жизнь на Amazon'е
Alexander Byndyu
 
код шрёдингера
код шрёдингеракод шрёдингера
код шрёдингера
Ruslan Safin
 
Клиентская оптимизация в ритме военного марша
Клиентская оптимизация в ритме военного маршаКлиентская оптимизация в ритме военного марша
Клиентская оптимизация в ритме военного марша
Alexander Byndyu
 
Не SQL'ем единым
Не SQL'ем единымНе SQL'ем единым
Не SQL'ем единым
Alexander Byndyu
 
Data mining в реальном проекте
Data mining в реальном проектеData mining в реальном проекте
Data mining в реальном проекте
Alexander Byndyu
 
Модульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NETМодульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NET
Alexander Byndyu
 
Непрерывная интеграция в ритме военного марша
Непрерывная интеграция в ритме военного маршаНепрерывная интеграция в ритме военного марша
Непрерывная интеграция в ритме военного марша
Alexander Byndyu
 
RabbitMQ - обмен сообщениями, который просто работает
RabbitMQ - обмен сообщениями, который просто работаетRabbitMQ - обмен сообщениями, который просто работает
RabbitMQ - обмен сообщениями, который просто работает
Alexander Byndyu
 
Agile на практике
Agile на практикеAgile на практике
Agile на практике
Alexander Byndyu
 
Cassandra: быстрая запись данных в высоконагруженных системах
Cassandra: быстрая запись данных в высоконагруженных системахCassandra: быстрая запись данных в высоконагруженных системах
Cassandra: быстрая запись данных в высоконагруженных системахAlexander Mezhov
 
Индексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииИндексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизации
Alexander Byndyu
 
Опыт разработки эффективного SPA
Опыт разработки эффективного SPAОпыт разработки эффективного SPA
Опыт разработки эффективного SPA
Eugene Abrosimov
 
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Alexey Pikulev
 
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrackБаг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Alexander Byndyu
 
Шаблоны интеграции - актуальные инструменты и решения
Шаблоны интеграции - актуальные инструменты и решенияШаблоны интеграции - актуальные инструменты и решения
Шаблоны интеграции - актуальные инструменты и решения
Alexander Byndyu
 
Индексируй неиндексирумое
Индексируй неиндексирумоеИндексируй неиндексирумое
Индексируй неиндексирумое
Alexander Byndyu
 
Эволюция управления зависимостями в коде
Эволюция управления зависимостями в кодеЭволюция управления зависимостями в коде
Эволюция управления зависимостями в коде
Alexander Byndyu
 
Использование сервера Continuous Integration для разработки мобильных приложений
Использование сервера Continuous Integration для разработки мобильных приложенийИспользование сервера Continuous Integration для разработки мобильных приложений
Использование сервера Continuous Integration для разработки мобильных приложений
Alexander Byndyu
 
ReSharper 8.0 или магия продуктивной разработки
ReSharper 8.0 или магия продуктивной разработкиReSharper 8.0 или магия продуктивной разработки
ReSharper 8.0 или магия продуктивной разработкиTimur Rakhmatillaev
 

Viewers also liked (20)

Бутылка саке и муравей
Бутылка саке и муравейБутылка саке и муравей
Бутылка саке и муравей
 
Много данных, много вычислений: есть ли жизнь на Amazon'е
Много данных, много вычислений: есть ли жизнь на Amazon'еМного данных, много вычислений: есть ли жизнь на Amazon'е
Много данных, много вычислений: есть ли жизнь на Amazon'е
 
код шрёдингера
код шрёдингеракод шрёдингера
код шрёдингера
 
Клиентская оптимизация в ритме военного марша
Клиентская оптимизация в ритме военного маршаКлиентская оптимизация в ритме военного марша
Клиентская оптимизация в ритме военного марша
 
Не SQL'ем единым
Не SQL'ем единымНе SQL'ем единым
Не SQL'ем единым
 
Data mining в реальном проекте
Data mining в реальном проектеData mining в реальном проекте
Data mining в реальном проекте
 
Модульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NETМодульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NET
 
Непрерывная интеграция в ритме военного марша
Непрерывная интеграция в ритме военного маршаНепрерывная интеграция в ритме военного марша
Непрерывная интеграция в ритме военного марша
 
RabbitMQ - обмен сообщениями, который просто работает
RabbitMQ - обмен сообщениями, который просто работаетRabbitMQ - обмен сообщениями, который просто работает
RabbitMQ - обмен сообщениями, который просто работает
 
Agile на практике
Agile на практикеAgile на практике
Agile на практике
 
Cassandra: быстрая запись данных в высоконагруженных системах
Cassandra: быстрая запись данных в высоконагруженных системахCassandra: быстрая запись данных в высоконагруженных системах
Cassandra: быстрая запись данных в высоконагруженных системах
 
Индексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииИндексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизации
 
Опыт разработки эффективного SPA
Опыт разработки эффективного SPAОпыт разработки эффективного SPA
Опыт разработки эффективного SPA
 
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
 
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrackБаг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
Баг-трекер по-новому: что и почему JetBrains изменил в последней версии YouTrack
 
Шаблоны интеграции - актуальные инструменты и решения
Шаблоны интеграции - актуальные инструменты и решенияШаблоны интеграции - актуальные инструменты и решения
Шаблоны интеграции - актуальные инструменты и решения
 
Индексируй неиндексирумое
Индексируй неиндексирумоеИндексируй неиндексирумое
Индексируй неиндексирумое
 
Эволюция управления зависимостями в коде
Эволюция управления зависимостями в кодеЭволюция управления зависимостями в коде
Эволюция управления зависимостями в коде
 
Использование сервера Continuous Integration для разработки мобильных приложений
Использование сервера Continuous Integration для разработки мобильных приложенийИспользование сервера Continuous Integration для разработки мобильных приложений
Использование сервера Continuous Integration для разработки мобильных приложений
 
ReSharper 8.0 или магия продуктивной разработки
ReSharper 8.0 или магия продуктивной разработкиReSharper 8.0 или магия продуктивной разработки
ReSharper 8.0 или магия продуктивной разработки
 

Similar to Смотрим на Mvvm сквозь prism'у

Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
Fwdays
 
Presentation
PresentationPresentation
PresentationVasayXTX
 
Информационная безопасность облака как конкурентное преимущество сервис-прова...
Информационная безопасность облака как конкурентное преимущество сервис-прова...Информационная безопасность облака как конкурентное преимущество сервис-прова...
Информационная безопасность облака как конкурентное преимущество сервис-прова...
Denis Bezkorovayny
 
Александр Купчинецкий. "Защитить каждый кирпичик крепости". IT-пятница, октяб...
Александр Купчинецкий. "Защитить каждый кирпичик крепости". IT-пятница, октяб...Александр Купчинецкий. "Защитить каждый кирпичик крепости". IT-пятница, октяб...
Александр Купчинецкий. "Защитить каждый кирпичик крепости". IT-пятница, октяб...
GigaCloud
 
Быстрее света. UA Mobile 2016.
Быстрее света. UA Mobile 2016.Быстрее света. UA Mobile 2016.
Быстрее света. UA Mobile 2016.
UA Mobile
 
Do it yourself profiler
Do it yourself profilerDo it yourself profiler
Do it yourself profiler
Vladimir Sitnikov
 
AgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеAgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в Банке
Михаил Кононов
 
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
Mail.ru Group
 
Мини-школа тестировщиков, ориентированных на Web
Мини-школа тестировщиков, ориентированных на WebМини-школа тестировщиков, ориентированных на Web
Мини-школа тестировщиков, ориентированных на Web
SQALab
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?
CEE-SEC(R)
 
Методы выполнения требования 6.6 PCI DSS – практический выбор
Методы выполнения требования 6.6 PCI DSS – практический выборМетоды выполнения требования 6.6 PCI DSS – практический выбор
Методы выполнения требования 6.6 PCI DSS – практический выбор
Denis Bezkorovayny
 
WPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testingWPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testing
SQALab
 
Обнаружение сетевых аномалий и угроз c помощью инфраструктурного оборудовани...
 Обнаружение сетевых аномалий и угроз c помощью инфраструктурного оборудовани... Обнаружение сетевых аномалий и угроз c помощью инфраструктурного оборудовани...
Обнаружение сетевых аномалий и угроз c помощью инфраструктурного оборудовани...Cisco Russia
 
Контроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколенияКонтроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколения
Cisco Russia
 
Presentation_ppt
Presentation_pptPresentation_ppt
Presentation_pptVasayXTX
 
Ловушки тестирования производительности
Ловушки тестирования производительностиЛовушки тестирования производительности
Ловушки тестирования производительности
SQALab
 
JSOC мы строили-строили и построили
JSOC мы строили-строили и построилиJSOC мы строили-строили и построили
JSOC мы строили-строили и построили
jet_information_security
 
Система анализа работы приложений и протоколов Riverbed Cascade
Система анализа работы приложений и протоколов Riverbed CascadeСистема анализа работы приложений и протоколов Riverbed Cascade
Система анализа работы приложений и протоколов Riverbed Cascade
КРОК
 
Presentation JavaME
Presentation JavaMEPresentation JavaME
Presentation JavaME
scassau
 
Рэки IBM для проекта ExoGENI
Рэки IBM для проекта ExoGENIРэки IBM для проекта ExoGENI
Рэки IBM для проекта ExoGENI
ARCCN
 

Similar to Смотрим на Mvvm сквозь prism'у (20)

Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Presentation
PresentationPresentation
Presentation
 
Информационная безопасность облака как конкурентное преимущество сервис-прова...
Информационная безопасность облака как конкурентное преимущество сервис-прова...Информационная безопасность облака как конкурентное преимущество сервис-прова...
Информационная безопасность облака как конкурентное преимущество сервис-прова...
 
Александр Купчинецкий. "Защитить каждый кирпичик крепости". IT-пятница, октяб...
Александр Купчинецкий. "Защитить каждый кирпичик крепости". IT-пятница, октяб...Александр Купчинецкий. "Защитить каждый кирпичик крепости". IT-пятница, октяб...
Александр Купчинецкий. "Защитить каждый кирпичик крепости". IT-пятница, октяб...
 
Быстрее света. UA Mobile 2016.
Быстрее света. UA Mobile 2016.Быстрее света. UA Mobile 2016.
Быстрее света. UA Mobile 2016.
 
Do it yourself profiler
Do it yourself profilerDo it yourself profiler
Do it yourself profiler
 
AgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеAgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в Банке
 
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
 
Мини-школа тестировщиков, ориентированных на Web
Мини-школа тестировщиков, ориентированных на WebМини-школа тестировщиков, ориентированных на Web
Мини-школа тестировщиков, ориентированных на Web
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?
 
Методы выполнения требования 6.6 PCI DSS – практический выбор
Методы выполнения требования 6.6 PCI DSS – практический выборМетоды выполнения требования 6.6 PCI DSS – практический выбор
Методы выполнения требования 6.6 PCI DSS – практический выбор
 
WPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testingWPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testing
 
Обнаружение сетевых аномалий и угроз c помощью инфраструктурного оборудовани...
 Обнаружение сетевых аномалий и угроз c помощью инфраструктурного оборудовани... Обнаружение сетевых аномалий и угроз c помощью инфраструктурного оборудовани...
Обнаружение сетевых аномалий и угроз c помощью инфраструктурного оборудовани...
 
Контроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколенияКонтроль услуг и приложений в центрах обработки данных нового поколения
Контроль услуг и приложений в центрах обработки данных нового поколения
 
Presentation_ppt
Presentation_pptPresentation_ppt
Presentation_ppt
 
Ловушки тестирования производительности
Ловушки тестирования производительностиЛовушки тестирования производительности
Ловушки тестирования производительности
 
JSOC мы строили-строили и построили
JSOC мы строили-строили и построилиJSOC мы строили-строили и построили
JSOC мы строили-строили и построили
 
Система анализа работы приложений и протоколов Riverbed Cascade
Система анализа работы приложений и протоколов Riverbed CascadeСистема анализа работы приложений и протоколов Riverbed Cascade
Система анализа работы приложений и протоколов Riverbed Cascade
 
Presentation JavaME
Presentation JavaMEPresentation JavaME
Presentation JavaME
 
Рэки IBM для проекта ExoGENI
Рэки IBM для проекта ExoGENIРэки IBM для проекта ExoGENI
Рэки IBM для проекта ExoGENI
 

More from Alexander Byndyu

Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Инфраструктура для совместной предпроктной работы IT-компаний и реального ...Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Alexander Byndyu
 
Применение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзеПрименение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзе
Alexander Byndyu
 
Антихрупкость в IT или как полюбить изменения
Антихрупкость в IT или как полюбить измененияАнтихрупкость в IT или как полюбить изменения
Антихрупкость в IT или как полюбить изменения
Alexander Byndyu
 
Карта гипотез как метод стратегического планирования
Карта гипотез как метод стратегического планированияКарта гипотез как метод стратегического планирования
Карта гипотез как метод стратегического планирования
Alexander Byndyu
 
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработкиКак перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Alexander Byndyu
 
История о том, как техническое задание подменяет цель проекта
История о том, как техническое задание подменяет цель проектаИстория о том, как техническое задание подменяет цель проекта
История о том, как техническое задание подменяет цель проекта
Alexander Byndyu
 
Шпаргалка по IT-миру для предпринимателя
Шпаргалка по IT-миру для предпринимателяШпаргалка по IT-миру для предпринимателя
Шпаргалка по IT-миру для предпринимателя
Alexander Byndyu
 
Микросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияМикросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс Россия
Alexander Byndyu
 
IT-директор на аутсорсе
IT-директор на аутсорсеIT-директор на аутсорсе
IT-директор на аутсорсе
Alexander Byndyu
 
Бизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруБизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуру
Alexander Byndyu
 
Impact Mapping на практике v2
Impact Mapping на практике v2Impact Mapping на практике v2
Impact Mapping на практике v2
Alexander Byndyu
 
Кнопочное мышление против целостного IT-продукта
Кнопочное мышление против целостного IT-продуктаКнопочное мышление против целостного IT-продукта
Кнопочное мышление против целостного IT-продукта
Alexander Byndyu
 
Пять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктовПять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктов
Alexander Byndyu
 
Пять самых важных составляющих процесса выпуска проектов
Пять самых важных составляющих процесса выпуска проектовПять самых важных составляющих процесса выпуска проектов
Пять самых важных составляющих процесса выпуска проектов
Alexander Byndyu
 
Час Кода 2015
Час Кода 2015Час Кода 2015
Час Кода 2015
Alexander Byndyu
 
Impact mapping in practice
Impact mapping in practiceImpact mapping in practice
Impact mapping in practice
Alexander Byndyu
 
Impact Mapping на практике
Impact Mapping на практикеImpact Mapping на практике
Impact Mapping на практике
Alexander Byndyu
 
Customer satisfaction для программистов
Customer satisfaction для программистовCustomer satisfaction для программистов
Customer satisfaction для программистов
Alexander Byndyu
 
CQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафорCQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафор
Alexander Byndyu
 
Как размножается Sphinx
Как размножается SphinxКак размножается Sphinx
Как размножается Sphinx
Alexander Byndyu
 

More from Alexander Byndyu (20)

Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Инфраструктура для совместной предпроктной работы IT-компаний и реального ...Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
Инфраструктура для совместной предпроктной работы IT-компаний и реального ...
 
Применение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзеПрименение low-code платформ в энтерпрайзе
Применение low-code платформ в энтерпрайзе
 
Антихрупкость в IT или как полюбить изменения
Антихрупкость в IT или как полюбить измененияАнтихрупкость в IT или как полюбить изменения
Антихрупкость в IT или как полюбить изменения
 
Карта гипотез как метод стратегического планирования
Карта гипотез как метод стратегического планированияКарта гипотез как метод стратегического планирования
Карта гипотез как метод стратегического планирования
 
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработкиКак перейти от проектного мышления к продуктовому. Опыт из заказной разработки
Как перейти от проектного мышления к продуктовому. Опыт из заказной разработки
 
История о том, как техническое задание подменяет цель проекта
История о том, как техническое задание подменяет цель проектаИстория о том, как техническое задание подменяет цель проекта
История о том, как техническое задание подменяет цель проекта
 
Шпаргалка по IT-миру для предпринимателя
Шпаргалка по IT-миру для предпринимателяШпаргалка по IT-миру для предпринимателя
Шпаргалка по IT-миру для предпринимателя
 
Микросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс РоссияМикросервисы, чистый PaaS и конкурс Мисс Россия
Микросервисы, чистый PaaS и конкурс Мисс Россия
 
IT-директор на аутсорсе
IT-директор на аутсорсеIT-директор на аутсорсе
IT-директор на аутсорсе
 
Бизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуруБизнес-гибкость через микросервисную архитектуру
Бизнес-гибкость через микросервисную архитектуру
 
Impact Mapping на практике v2
Impact Mapping на практике v2Impact Mapping на практике v2
Impact Mapping на практике v2
 
Кнопочное мышление против целостного IT-продукта
Кнопочное мышление против целостного IT-продуктаКнопочное мышление против целостного IT-продукта
Кнопочное мышление против целостного IT-продукта
 
Пять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктовПять самых важных составляющих процесса выпуска продуктов
Пять самых важных составляющих процесса выпуска продуктов
 
Пять самых важных составляющих процесса выпуска проектов
Пять самых важных составляющих процесса выпуска проектовПять самых важных составляющих процесса выпуска проектов
Пять самых важных составляющих процесса выпуска проектов
 
Час Кода 2015
Час Кода 2015Час Кода 2015
Час Кода 2015
 
Impact mapping in practice
Impact mapping in practiceImpact mapping in practice
Impact mapping in practice
 
Impact Mapping на практике
Impact Mapping на практикеImpact Mapping на практике
Impact Mapping на практике
 
Customer satisfaction для программистов
Customer satisfaction для программистовCustomer satisfaction для программистов
Customer satisfaction для программистов
 
CQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафорCQRS на практике. В поиске точки масштабирования и новых метафор
CQRS на практике. В поиске точки масштабирования и новых метафор
 
Как размножается Sphinx
Как размножается SphinxКак размножается Sphinx
Как размножается Sphinx
 

Смотрим на Mvvm сквозь prism'у

  • 1. Смотрим на MVVM сквозь Prism’у Степан Родионов byndyusoft twitter.com/rodionovstepan 6-я конференция .NET разработчиков 28 апреля 2013 www.dotnetconf.ru
  • 2. 2MVVM via Prism, Степан Родионов Проблемы • Нарушение SRP • Невозможно полноценное юнит- тестирование • Трудно вносить изменения
  • 3. 3MVVM via Prism, Степан Родионов MVx паттерны • MVC • MVP • MVVM
  • 4. 4MVVM via Prism, Степан Родионов MVVM View Model Model UI Data Bindings Commands Notifications View UI logic (code behind) Presentation logic Business logic and data
  • 5. 5MVVM via Prism, Степан Родионов Binding на примере
  • 6. 6MVVM via Prism, Степан Родионов Модульное тестирование
  • 7. 7MVVM via Prism, Степан Родионов WPF & MVVM • Prism • MVVM Light Toolkit • Caliburn • Caliburn.Micro
  • 8. 8MVVM via Prism, Степан Родионов Prism application Application Bootstrapper Container Services Shell Modules
  • 9. 9MVVM via Prism, Степан Родионов Shell Shell Region Region View Views
  • 10. 10MVVM via Prism, Степан Родионов Практика
  • 11. 11MVVM via Prism, Степан Родионов Материалы для изучения • Prism4: Building Modular MVVM Applications with WPF • compositewpf.codeplex.com • Р. Мартин: Принципы, паттерны и методики гибкой разработки на языке C#
  • 12. 12MVVM via Prism, Степан Родионов Спасибо за внимание Степан Родионов byndyusoft rodionov.stepan@gmail.com twitter.com/rodionovstepan