Caliburn Micro overview Micro-Framework for WPF, Silverlight and WP7    Іван Корнелюк      [email_address]    @korneliuk       korneliuk.blogspot.com
Основні відомості Створено Rob Eisenberg ( @EisenbergEffect )     Оснований на Caliburn -  90% можливостей в 10% коду      Логічне продовження прикладу продемонстрованого на сесії Mix10 " Build Your Own MVVM Framework "  
Призначення Можливість створювати 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."
Приклад  Game Library  з сесії "Build Your Own MVVM Framework" був портований Marco Amendola для Caliburn.Micro.  Game Library DEMO
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  
Convention over configuration Action conventions   Binding conventions   View locating conventions
ActionMessages Прив'язка UI тригерів до методів ViewModel -  немає потреби в командах!    Дозволяє передавати параметри методу Можна передавати DataContext чи EventArgs  Конвертуються до сигнатури метода    Message "bubbling" - корисно в Master/Details сценаріх    CanExecute Guard    Підтримка Coroutines    Підтрика Blend в дизайн-тайм
Coroutines Співпрограмма  ( Coroutine ) —  компонент програми, з підтримкою безлічі точок входу (а не однієї, як підпрограма) і зупинкою та продовженням виконання із збереженням певного положення. Більше немає потреби займатись асинхронним програмуванням    Легко тестувати    Відсутні звичні проблеми із тестуванням асинхронного коду (бо він відсутній явно)   Немає потреби в Mock фреймворках    Не потрібні інтерфейси, щоб ізолювати такі класи як MessageDialog.
Інфраструктура Bootstrapper    Event Aggregator   WindowManager   ViewLocator   Logging    Screen та ScreenConductor   PropertyChangedBase та BindableCollection
Дякую!

Caliburn Micro Overview

  • 1.
    Caliburn Micro overviewMicro-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.
    Приклад GameLibrary з сесії "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  
  • 6.
    Convention over configurationAction conventions   Binding conventions   View locating conventions
  • 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
  • 10.