MVVM Light Toolkit. Julita Borkowska

Podobne dokumenty
Wprowadzenie do programowania aplikacji mobilnych

Budowanie aplikacji biznesowych przy użyciu. Presentation Foundation i wzorca MVVM

Wzorce architektoniczne

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

MVVM Light Toolkit Przewodnik krok po kroku

Instrukcja laboratoryjna cz.6

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

Programowanie obiektowe

Metody i narzędzia ewaluacji

PHP 5 język obiektowy

Instrukcja laboratoryjna cz.3

Programowanie obiektowe

Rozwój aplikacji modułowych Paweł Brudnicki. Dodanie modułu

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

Programowanie zaawansowane

Języki programowania imperatywnego

GUI - projektowanie interfejsów

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

Programowanie obiektowe

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia.

Informatyka II. Laboratorium Aplikacja okienkowa

Wypożyczalnia VIDEO. Technologie obiektowe

Modelowanie i Programowanie Obiektowe

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

System zarządzający grami programistycznymi Meridius

Aplikacje w środowisku Java

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Wzorce projektowe. dr inż. Marcin Pietroo

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Programowanie obiektowe - 1.

Wprowadzenie niektórych zagadnień OOP oraz wzorce operacyjne

Wzorce projektowe. dr inż. Marcin Pietroo

Słowa kluczowe jak góry lodowe

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Modele danych walidacja widoki zorientowane na model

Baza danych sql. 1. Wprowadzenie

Procesowa specyfikacja systemów IT

timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje

Forum Client - Spring in Swing

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Interfejsy i klasy wewnętrzne

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Laboratorium 7 Blog: dodawanie i edycja wpisów

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Projektowanie obiektowe Wzorce projektowe

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Programowanie aplikacji dla Sklepu Windows w języku C#

Uwaga Przed każdą aktualizacją, zalecane jest zrobienie kopii bezpieczeństwa bazy oraz bibliotek programu

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Programowanie obiektowe

Rys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych.

Builder (budowniczy) Cel: Przykład:

Programowanie obiektowe

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

Programowanie aplikacji biznesowych

Wykład 9: Polimorfizm i klasy wirtualne

.NET Klasy, obiekty. ciąg dalszy

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Wywoływanie metod zdalnych

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Rozpoczynając wywód na temat MVVM należy najpierw zadań sobie kilka podstawowych pytań na temat MVVM jako wzorca projektowego :

Aplikacje w środowisku VBA. Visual Basic for Aplications

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Wykład 1 Inżynieria Oprogramowania

Laboratorium programowania urządzeń mobilnych

Backend Administratora

Programowanie obiektowe

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Zaawansowane programowanie w C++ (PCP)

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii

Programowanie obiektowe

Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

GUI - projektowanie interfejsów cz. II

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)

1. Od czego zacząć? - Instalacja środowiska pracy

Aplikacje RMI

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi.

Pico. Wstęp do kontenerów IoC.

Referat pracy dyplomowej

Dokumentacja do API Javy.

Programowanie w języku Java WYKŁAD

Praca w środowisku Visual Studio 2008, Visual C

Zasady tworzenia podstron

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce odpowiedzialności

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Spis treści. S t r o n a 2

Transkrypt:

MVVM Light Toolkit Julita Borkowska

Czym jest MVVM Light Toolkit? MVVM Light Toolkit został stworzony w 2009 roku przez Laurenta Bugnion. Jest to biblioteka dostarczająca zestaw komponentów pomocnych podczas pisania aplikacji według wzorca MVVM. Jej głównym celem jest przyśpieszenie tworzenia aplikacji o takiej architekturze oraz ich rozwój w projektach WPF, SilverLight, Windows Store i Windows Phone.

Wzorzec MVVM

Przy zastosowaniu MVVM zachodzi potrzeba przestrzegania następujących założeń: unikania kodu w code-behind w większości przypadków to, co kiedyś było robione w code-behind, można przenieść do ViewModel, zdarzenia powinny zostać zastąpione komendami, np. zamiast podpinać zdarzenie Click, należy skorzystać z komendy; oczywiście istnieją przypadki, w których zdarzenia są jedynym rozwiązaniem, ViewModel powinien implementować interfejs INotifyPropertyChanged, dane z widoku powinny być powiązane z właściwościami w ViewModel, w testach sam ViewModel powinien wystarczyć; widok jest tak naprawdę wizualizacją przeznaczoną dla użytkownika; użytkownik, chcąc skorzystać z logiki dostarczonej przez aplikację, wprowadza tekst np. za pomocą TextBox w testach jednostkowych ustawiamy właściwość w VM i powinniśmy uzyskać taki sam efekt, należy rozróżnić Model od ViewModel; model nie może zawierać żadnej logiki, związanej z widokiem; innymi słowy, model to czysta logika biznesowa, z kolei ViewModel zawiera już informacje o stanie widoku.

Co daje nam wykorzystanie MVVM Light Toolkit?

RelayCommand - lokalna implementacja interfejsu ICommand; w MVVM Light Toolkit odpowiada za reprezentowanie komend. Dzięki użyciu RelayCommand nie musimy tworzyć skomplikowanego kodu, aby powiązać komendę z wywołaniem wskazanej metody. Możemy tworzyć różne akcje, które później zostaną podpięte do widoku: -klasa ta w konstruktorze oczekuje obiektu typu Action (czyli delegacji, która nie przyjmuje parametrów oraz nic nie zwraca), który będzie odpowiadał funkcji Execute() z interfejsu ICommand. Metoda ta jest wykonywana w momencie wywołania komendy. Można również podać drugi argument będący obiektem typu Predicate (delegacja nie przyjmująca parametrów i zwracająca bool), który będzie implementował metodę CanExecute() - określa ona czy spełnione są warunki, aby móc wykonać daną komendę. Istnieje również wersja generyczna obiektu RelayCommand - pozwala ona na przekazywanie parametru do komendy.

EventToCommand W kontrolkach WPF a komendy podpinane są domyślnie do jednego z góry przewidzianego zdarzenia, np. dla przycisku jest to odpowiednik onclick. Nie ma możliwości podłączenia komendy do innych zdarzeń. Tutaj własnie przychodzi z pomocą MVVM Light Toolkit i EventToCommand. Dzięki tej funkcjonalności, istnieje możliwość podłączenia komend z obiektu ViewModel do dowolnych zdarzeń kontrolki bez angażowania do tego jakiegokolwiek Code Behind wszystko pozostaje więc w zgodzie z założeniami MVVM.

SimpleIoC - prosty kontener IoC, który pozwala nam na automatyczne tworzenie instancji wybranych obiektów ViewModelBase - bazowa klasa dla naszych ViewModeli, implementująca interfejs INotifyPropertyChanged (interfejs ten ma za zadanie informować klienta, że wartość obiektu uległa zmianie)

Messenger Z założenia obiekt Messenger został dodany do MVVM Light Toolkit jako narzędzie do wszechstronnej komunikacji - nie tylko pomiędzy obiektami ViewModel, ale pomiędzy dowolnymi klasami. Idea opiera się na statycznym obiekcie Messenger, który udostępnia mechanizmy do wysyłania komunikatów oraz rejestrowania akcji reagujących na konkretne komunikaty.

Dodatkowo MVVM Light Toolkit zapewnia nam elementy mające przyspieszyć i ułatwić tworzenie kodu: snippety - gotowe fragmenty kodu, szablony projektów i elementów.

Wygląd projektu

App.xaml

ViewModelLocator.cs

Dziękuję za uwagę.