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

Podobne dokumenty
Omówienie wzorców wykorzystywanych w Prism Dominika Różycka,

Programowanie obiektowe

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

Wzorce projektowe. dr inż. Marcin Pietroo

MVVM Light Toolkit. Julita Borkowska

Wprowadzenie do programowania aplikacji mobilnych

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

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013

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

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

Architektura interfejsu użytkownika

Projektowanie obiektowe Wzorce projektowe

Wzorce projektowe. dr inż. Marcin Pietroo

Wzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz

problem w określonym kontekście siły istotę jego rozwiązania

Wypożyczalnia VIDEO. Technologie obiektowe

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

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

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

Zaawansowane programowanie w C++ (PCP)

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

Programowanie zorientowane obiektowo. Mateusz Kołecki

Projektowanie i architektura frameworka w języku PHP. Tomasz P.F. Kowalczyk

Program szkolenia: Wzorce projektowe w C++

Testowanie oprogramowania Wzorce projektowe

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce rozszerzeń

Wzorce architektoniczne

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

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

Zagadnienia projektowania aplikacji J2EE

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Wzorce projektowe Michał Węgorek

Adaptywny kod : zwinne programowanie, wzorce projektowe i SOLID-ne zasady / Gary McLean Hall. Gliwice, cop Spis treści

Programowanie obiektowe

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Problemy projektowania obiektowego. Czy podobne problemy można rozwiązywac w podobny sposób?

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

Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych

Design Pattern Density Defined

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

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Programowanie Zespołowe

Wzorce projektowe. dr inż. Marcin Pietroo

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

Programowanie MorphX Ax

Architektura nowoczesnych aplikacji internetowych

Pico. Wstęp do kontenerów IoC.

Analiza i projektowanie obiektowe 2016/2017. Wykład 11: Zaawansowane wzorce projektowe (1)

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

Programowanie współbieżne i rozproszone

Programowanie aplikacji dla Sklepu Windows w języku C#

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Wykład 5. Inżynieria oprogramowania MIS s MIO s MIS n Listopad 2014

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Przykładowa implementacja

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2015

OSGi Agata Hejmej

Profesjonalni i skuteczni - projekt dla pracowników branży telekomunikacyjnej

Builder (budowniczy) Cel: Przykład:

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Projektowanie obiektowe oprogramowania Wykład 5 wzorce strukturalne Wiktor Zychla 2016

Projektowanie oprogramowania: wzorce architektoniczne i projektowe

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

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

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

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

REFERAT O PRACY DYPLOMOWEJ

Technologie internetowe ASP.NET Core. Paweł Rajba

Projektowanie obiektowe oprogramowania Wykład 7 wzorce czynnościowe (2) Wiktor Zychla 2018

Singleton. Cel: Przykład: Zastosowanie: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej.

Wzorce projektowe cz. I. Wzorce projektowe cz. I 1/33

Metody i narzędzia ewaluacji

Webowy generator wykresów oparty na programie gnuplot

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Program szkolenia: Symfony, nowoczesny framework PHP

Ochrona zasobów. mechanizm ochrony polityka ochrony. 2. Domeny ochrony 3. Macierz dostępów 4. Implementacja macierzy dostępów

Prototype (prototyp) Cel: Przykład: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp.

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Zaawansowane Aplikacje Internetowe

7. Tworzenie interfejsu użytkownika w WPF użyciem PRISM 5.0

Wprowadzenie do systemów informacyjnych

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

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control/Dependency Injection Wiktor Zychla 2014

Forum Client - Spring in Swing

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Projekt Spaghetti. Wykorzystanie podejścia obiektowego w zarządzaniu projektami. Katedra Badań Operacyjnych

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Technologia Programowania 2016/2017 Wykład 4

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Transkrypt:

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

Czym jest wzorzec projektowy? 2

3 Wzorzec projektowy 1. Uniwersalne i sprawdzone w praktyce rozwiązanie często pojawiających się, powtarzalnych problemów projektowych, 2. Demonstruje powiązania i zależności pomiędzy klasami i obiektami, 3. Ułatwia tworzenie, modyfikację oraz pielęgnację kodu źródłowego, 4. Jest opisem rozwiązania, a nie jego implementacją!

Wzorce używane w Prism 5.0 4

5 Wzorce w Prism 5.0 1. Adapter, 2. Application Controller (Kontroler aplikacji), 3. Command (Polecenie), 4. Composite (Kompozyt) i Composite View, 5. Dependency Injection (Wstrzykiwanie zależności), 6. Event Aggregator, 7. Façade (Fasada), 8. Inversion of Control (Odwrócenie sterowania),

6 Wzorce w Prism 5.0 9. Observer (Obserwator), 10. Model-View-ViewModel (MVVM), 11. Registry (Rejestr), 12. Repository (Repozytorium), 13. Separated Interface, 14. Plug-In, 15. Service Locator (Lokalizator Usługi)

Wzorce w Prism 5.0 7

Adapter 8

9 Wzorzec Adapter 1. Dopasowuje interfejs jednej klasy do oczekiwanego przez inną klasę, 2. W Prism używany do dostosowywania regionów do Windows Presentation Foundation (WPF) ItemsControl, ContentControl i Selector

Kontroler Aplikacji 10

11 Wzorzec Application Controller (Kontroler aplikacji) 1. Pozwala oddzielić zadanie tworzenia i wyświetlania widoków w klasie kontrolera, 2. Jego zadaniem jest hermetyzacja kontroli prezentacji widoku, 3. Może się zajmować widokami posiadającymi instancję, 4. Chociaż nazwą jest Kontroler Aplikacji kontrolery są często zawężane do podzbioru aplikacji jak np. kontroler modułu w Prism lub kontroler, który obejmuje zestaw pokrewnych widoków.

Polecenie 12

13 Wzorzec Command(Polecenie) 1. Obiekty używane są do reprezentowania akcji, 2. Obiekt Command oddziela akcję i jej parametry 3. Prism pozwala na CompositeCommand (ICommand i DelegateCommand), 4. Polecenia i zdarzenia pozwalają na luźne powiązanie między widokiem, a ViewModelem

Kompozyt 14

15 Wzorzec Composite (Kompozyt) i Composite View 1. Zazwyczaj widok kompozytowy definiuje layout dla widoków potomnych

16 Wzorzec Composite (Kompozyt) i Composite View 2. Widoki kompozytowe nie mogą być dynamicznie składane, 3. Widok kompozytowy może również być widokiem, który zbudowany jest z kilku innych widoków potomnych, które są tworzone statycznie przez definicję interfejsu użytkownika.

Wstrzykiwanie zależności 17

18 Dependency Injection (Wstrzykiwanie zależności) 1. Jest to specjalna wersja wzorca Odwróconego Sterowana (Inversion of Control), 2. Podczas używania kontenera, odpowiedzialność za konstrukcję spoczywa na kontenerze zamiast używającej go klasie. 3. Biblioteka Prism sama w sobie nie jest przywiązana do konkretnego kontenera wstrzykiwania,

EventAggregator 19

20 Wzorzec Event Aggregator 1. Przełącza zdarzenia z wielu obiektów na pojedynczy obiekt np. dla ułatwienia rejestracji klientów 2. W Prism odmiana tego wzorca pozwala wielu obiektom na lokalizowanie i publikowanie bądź zapisywanie czegoś do zdarzenia

Fasada 21

22 Wzorzec Façade (Fasada) 1. Upraszcza bardziej złożony interfejs lub zestaw interfejsów w celu ułatwienia ich stosowania lub wyizolowania dostępu do tych interfejsów. 2. Interfejsy: IServiceLocator i ILoggerFacade definiują interfejsy fasady w bibliotece Prism do oczekiwania komunikacji z kontenerem lub usługą logowania.

Odwrócenie sterowania 23

24 Wzorzec Inversion of Control (Odwrócenie Sterowania) 1. Używany jest w celu umożliwienia rozbudowy w klasie lub frameworku, 2. Dwie formy wzorca w Prism dołączają Dependency Injection i Template Method

Obserwator 25

26 Wzorzec Observer (Obserwator) 1. Dąży do uniezależnienia zainteresowanych zmianą stanu obiektu pochodzących z zmienianego obiektu, 2. Odmiana zastosowana w Prism ma na celu oddzielenie zapytania o interakcję z użytkownikiem z aktualnie wybraną interakcją

Model-View-ViewModel 27

28 Wzorzec Model-View-ViewModel 1. Ma na celu oddzielenie warstwy prezentacji od reprezentacji wizualnej, co poprawia komfort wprowadzania zmian i testowalność

Rejestr 29

30 Wzorzec Rejestr 1. Określa podejście do lokalizowania jednego lub więcej obiektów z obiektu już dobrze znanego., 2. Prism stosuje ten wzorzec kojarząc typy widoku z regionem.

Repozytorium 31

32 Wzorzec Repozytorium 1. Pozwala nam oddzielić sposób w jaki pozyskujemy dane dla aplikacji z kodu, który potrzebuje danych, 2. Reprezentuje zbiór obiektów domeny, które kod aplikacji może używać bez konieczności łączenia ze specjalnym mechanizmem, który pobiera te obiekty

Separated Interface i Plug-In 33

34 Wzorzec Separated Interface 1. Zmniejsza przymus łączenia przez zamieszczanie definicji interfejsu w oddzielnej do implementacji paczce.

35 Wzorzec Plug-In 1. Pozwala konkretnej implementacji klasy na bycie zdefiniowaną w czasie pracy, 2. W Prism jest to obsługiwane przez DirectoryModuleCatalog, ConfigurationModuleCatalog i ModuleInitializer, które pracują razem w celu lokalizowania i inicjalizacji plug-inów IModule.

Lokalizator Usługi 36

37 Wzorzec Service Locator (Lokalizator Usługi) 1. Rozwiązuje ten sam problem, co Wstrzykiwanie Zależności (Dependency Injection), ale używa innego podejścia, 2. Pozwala klasom na lokalizowanie konkretnych usług, którymi są zainteresowane bez konieczności wiedzy o tym kto implementuje usługę.

Dziękuję za uwagę 38