Komunikacja pomiędzy luźno powiązanymi komponentami Mateusz Sionkowski.

Slides:



Advertisements
Podobne prezentacje
Związki w UML.
Advertisements

Projektowanie aplikacji równoległych Jarosław Kuchta.
Programowanie obiektowe
Zaawansowane metody programowania – Wykład V
“Przenoszenie złożeniowych rysunków z Autodesk Inventor’a do Autodesk AutoCAD’a z zachowaniem hierarchii” Pająk Barbara.
Obiektowe metody projektowania systemów Design Patterns STRATEGY.
Programowanie w środowisku sieciowym
ActiveX. OLE W Windows 95 wprowadzono nową wersję techniki łączenia i osadzania OLE różnica między łączeniem a osadzaniem Office jako przykład wykorzystania.
WEB SERVICE Stefan Rutkowski.
ISOiWUT Internetowy System Oferowania i Wyszukiwania Usług Transportowych.
Architektura systemu Gra strategiczna „Strusia Jama”
Internet Communication Engine
Widoki.
Obiektowe metody projektowania systemów
Obiektowe metody projektowania systemów Command Pattern.
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Wzorce projektowe w J2EE
Projektowanie i programowanie obiektowe II - Wykład IV
Novell Account Management 3.0
Wstęp do kontenerów IoC
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Nowoczesna architektura w aplikacjach Windows Store
Instytut Tele- i Radiotechniczny WARSZAWA
Mechanizm OLE ang. Object Linking and Embedding źródła:
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Problem sekcji krytycznej
Model – View – View Model
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
MICROSOFT Access TWORZENIE MAKR
Zpiratował Rafał Kaczyński. Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. Hibernate pozwala na.
Programowanie w języku C++
Systemy operacyjne i sieci komputerowe
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Service Oriented Architecture
SSWiN SAP CCTV Kontrola dostępu
Programowanie strukturalne i obiektowe C++
Diagram klas Kluczowymi elementami są: klasy (class)
Technologie internetowe i mobilne
Hibernate Podstawy.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Obiektowe metody projektowania systemów Abstract Factory design pattern (aka. Kit)
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Paweł Starzyk Obiektowe metody projektowania systemów
Bazy danych Podstawy relacyjnych baz danych Autor: Damian Urbańczyk.
Android - cykl życia aplikacji, przykład prostej aplikacji
Wzorce Projektowe w JAVA
Model warstwowy ISO-OSI
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
A long time ago, in Redmond far, far away…. WSTĘP DO PRISM 5.0 Jak przygotować aplikację WPF do współpracy z Prism? Łukasz Rabiec
PRZEWODNIK PO APLIKACJI WADEMEKUM REGIONALNE: ZAPOZNAJ SIĘ Z MOŻLIWOŚCIAMI WADEMEKUM REGIONALNEGO. ROZPOCZNIJ INNOWACYJNĄ PROMOCJĘ REGIONU. ZAPOZNAJ SIĘ.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
Implementacja wzorca MVVM w Prism 5.0
Projektowanie skalowalnych architektur z wykorzystaniem zaawansowanych technik DDD Michał Mac macmichal.pl.
Wortal Publicznych Służb Zatrudnienia. Stan obecny Przegląd witryn urzędów Różnorodność i standaryzacja.
Co to jest WPF? Silnik graficzny odpowiedzialny za renderowanie interfejsów (nie tylko!) użytkownika aplikacji dla Windows. Dostępny od.NET 3.0 (2006)
Graficzny Interfejs Użytkownika
Programowanie Obiektowe – Wykład 9
(według:
Windows Workflow Foundation
Aplikacje i usługi internetowe
PGO Interfejsy Michail Mokkas.
Zdarzenia (eventy) Zdarzenia służą do powiadomienia użytkownika, gdy w używanej klasie dojdzie do pewnych wydarzeń zdefiniowanych przez twórcę klasy.
PGO - Projektowanie i implementacja pierwszych klas
Zapis prezentacji:

Komunikacja pomiędzy luźno powiązanymi komponentami Mateusz Sionkowski

Modułowość Modułowość w przypadku dużych projektów Buduje się osobne, względnie samodzielne moduły Między modułami zachodzi komunikacja Komunikacja ta nie powinna być zorganizowana przez statyczne referencje

Luźne powiązania Są wymuszone przez występowanie kilku projektów w jednym assembly Ułatwiają testowanie aplikacji

Luźne powiązania w Prism Solution commanding Region context Shared services Event aggregation

Solution Commanding Stosowane głównie w przypadku odpowiedzi na akcję użytkownika – np. kliknięcie WPF stosuje RoutedCommand, które jest ograniczone jedynie do aktywnych elementów Jeśli musimy nawiązać kontakt z niepowiązanymi i nieaktywnymi elementami stosuje się DelegateCommand i CompositeCommand. Pozwala to na obsługiwanie zdarzenia np. w ViewModelu nieprzypisanym do danego widoku

Solution Commanding Wykorzystywane głownie do komunikacji wewnątrz modułów, lecz możliwe jest zawarcie DelegateCommand lub CompositeCommand w Shell’u komend o znaczeniu wspólnym dla całej aplikacji

Delegate Command private readonly ICommand command; command = new DelegateCommand(metoda);

Composite Command private readonly CompositeCommand saveAllCommand; this.saveAllCommand = new CompositeCommand(); saveAllCommand.RegisterCommand(new SaveProductsCommand()); saveAllCommand.RegisterCommand(new SaveOrdersCommand());

Region Context

Prism wykorzystuje RegionContext do udostępniania obiektów pomiędzy hostem regionu a wszystkimi widokami wewnątrz regionu RegionContext można zawiązać zarówno w XAML jak i w kodzie a konsumpcja RegionContext zachodzi w widoku.

Shared Services Inne podejście do komunikacji między modułami Moduły mogą podłączać swoje usługi do mechanizmu ServiceLocator. Obiekt wymieniany jest zwykle poprzez interfejsy znane dla obu stron

Event Aggregation Prism posiada mechanizm wymiany informacji poprzez zdarzenia nadal unikając sztywnych powiązań EventAgregator to system elementów publikujących (publisher) i pobierających (subscriber) informacje Rozwiązanie jest o tyle elastyczne, że daną informację może pobierać wiele odbiorców jak i nadawana może być przez różnych nadawców

Event Aggregator

Tworzenie nowego zdarzenia public class PubSubEvent : EventBase

Rozgłoszenie nowego zdarzenia eventAggregator.GetEvent ().Publish("STOCK0");

Subskrypcja do zdarzenia eventAggregator.GetEvent ().Subscribe(metoda);