1. Caliburn Micro overview Micro-Framework for WPF, Silverlight and WP7 Іван Корнелюк [email_address] @korneliuk korneliuk.blogspot.com
2. Основні відомості Створено Rob Eisenberg ( @EisenbergEffect ) Оснований на Caliburn - 90% можливостей в 10% коду Логічне продовження прикладу продемонстрованого на сесії Mix10 " Build Your Own MVVM Framework "
3. Призначення Можливість створювати WPF/SL програми використовуючи TDD Спростити використання UI патернів MVC, MVP та MVVM Зменшити кількість рутинного коду, який потрібно писати для того, щоб MVVM працював Фреймворк, який легко зрозуміти та можна змінювати до власних потреб "We want to write elegant, testable, maintainable and extensible presentation layer code…and we want it to be easy to do so. That’s what this is about."
4. Приклад Game Library з сесії "Build Your Own MVVM Framework" був портований Marco Amendola для Caliburn.Micro. Game Library DEMO
5. Game Library Demo слайд з презентації, яку робив Rob Eisenberg No Code Behind No Event Wireups No Commands No Data Binding No Data Templates No Async Programming No Custom Controls
7. ActionMessages Прив'язка UI тригерів до методів ViewModel - немає потреби в командах! Дозволяє передавати параметри методу Можна передавати DataContext чи EventArgs Конвертуються до сигнатури метода Message "bubbling" - корисно в Master/Details сценаріх CanExecute Guard Підтримка Coroutines Підтрика Blend в дизайн-тайм
8. Coroutines Співпрограмма ( Coroutine ) — компонент програми, з підтримкою безлічі точок входу (а не однієї, як підпрограма) і зупинкою та продовженням виконання із збереженням певного положення. Більше немає потреби займатись асинхронним програмуванням Легко тестувати Відсутні звичні проблеми із тестуванням асинхронного коду (бо він відсутній явно) Немає потреби в Mock фреймворках Не потрібні інтерфейси, щоб ізолювати такі класи як MessageDialog.
9. Інфраструктура Bootstrapper Event Aggregator WindowManager ViewLocator Logging Screen та ScreenConductor PropertyChangedBase та BindableCollection