SlideShare a Scribd company logo
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
Дякую!

More Related Content

PDF
Masters Academy: Трендові інструменти розробки
PPTX
JS Fest 2019/Autumn. Борис Могила. Svelte. Почему нам не нужно run-time ядро
PPTX
Caliburn.Micro
PPTX
PPT
What's new in Visual Studio 2010.
PPT
AngularJS on Javascript User Group, Lviv
PPT
Рогач А.О. (MITDE - 2013)
PDF
Anton Serputko Start performance-testing-from-scratch, BAQ
Masters Academy: Трендові інструменти розробки
JS Fest 2019/Autumn. Борис Могила. Svelte. Почему нам не нужно run-time ядро
Caliburn.Micro
What's new in Visual Studio 2010.
AngularJS on Javascript User Group, Lviv
Рогач А.О. (MITDE - 2013)
Anton Serputko Start performance-testing-from-scratch, BAQ

Similar to Caliburn Micro Overview (20)

PPTX
природна і економна дорожня карта для переходу команди розробки на тест центр...
PDF
Igor Dumbur: Інженерна досконалість та DevOps (UA)
PDF
Kateryna Hrytsaienko: MLOps з нуля. Будуємо СI/CD для моделі з Ray та K8s (UA)
PPTX
Aspnet core
PDF
DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)
PDF
Ember.js. Init...
PPTX
ASP.Net basics
PPTX
Angular. presentation
PDF
Continious integration jet brains teamcity. Віталій Галушка
PDF
ITEvent: Continuous Integration (ukr)
PDF
Continuous Integration - Анатолій Охотніков
PPTX
Wcf module 1
PDF
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
PDF
Igor Dumbur: Інженерна досконалість та DevOps(UA)
PPTX
ASP.NET Core лекція 02.pptx
ODP
Grok web application framework
PDF
основи програмування 1
PPT
Изучение интерфейсов операционных систем с помощью Embedded System
PDF
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
PPT
Using Metatags in Flex Developing
природна і економна дорожня карта для переходу команди розробки на тест центр...
Igor Dumbur: Інженерна досконалість та DevOps (UA)
Kateryna Hrytsaienko: MLOps з нуля. Будуємо СI/CD для моделі з Ray та K8s (UA)
Aspnet core
DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)
Ember.js. Init...
ASP.Net basics
Angular. presentation
Continious integration jet brains teamcity. Віталій Галушка
ITEvent: Continuous Integration (ukr)
Continuous Integration - Анатолій Охотніков
Wcf module 1
РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»
Igor Dumbur: Інженерна досконалість та DevOps(UA)
ASP.NET Core лекція 02.pptx
Grok web application framework
основи програмування 1
Изучение интерфейсов операционных систем с помощью Embedded System
'Why svelte' by BORYS MOHYLA at OdessaJS'2020
Using Metatags in Flex Developing
Ad

More from Kiev ALT.NET (16)

PPTX
CQRS EventStore
PPTX
Design by Contract
PPT
Micro-ORM Introduction - Don't overcomplicate
PPTX
PDF
Linq providers
PPTX
Reactive Extensions
PPT
NoSql, MongoDb
PPTX
CouchDb
PPTX
Orchard
PPTX
Mercurial
PPT
CI via TFS
PPTX
Continuous Integration (CI)
PPTX
WebSharper - веб-программирование без слёз
PPTX
F# - функциональный язык «новой» волны
PPTX
Введение в MVVM
PPTX
Command-Query Responsibility Segregation: теория и практика
CQRS EventStore
Design by Contract
Micro-ORM Introduction - Don't overcomplicate
Linq providers
Reactive Extensions
NoSql, MongoDb
CouchDb
Orchard
Mercurial
CI via TFS
Continuous Integration (CI)
WebSharper - веб-программирование без слёз
F# - функциональный язык «новой» волны
Введение в MVVM
Command-Query Responsibility Segregation: теория и практика
Ad

Caliburn Micro Overview

  • 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  
  • 6. Convention over configuration Action 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