piątek, 11 listopada 2011

Prism

Pisząc aplikację w WPF czy też Silverlighcie warto zapoznać się z Prism który oferuje możliwość tworzenia aplikacji z użyciem wzorca MVVM.

Co oferuje nam prism? Przede wszystkim możliwość budowania bogatych wizualnie aplikacji, elastycznych i łatwych w rozbudowanie w przyszłości. Zasada budowy aplikacji w Prism jest podobna do aplikacji w których korzystamy z pluginów. Rozwiązanie takie pozwala w łatwy i szybki sposób zwiększać możliwości aplikacji przy okazji umożliwiając łatwe zarządzanie już istniejącymi modułami.
Prism to zbiór przede wszystkim dobrych praktyk programistycznych - odrzuca ścisłe powiązania pomiędzy klasami.

Aplikacje które tworzone są przy użyciu Prims nazywane są "Aplikacjami kompozytowymi". Zaletami takich aplikacji są m.in.:
- możliwość tworzenia każdego modułu osobno, co ułatwia testowanie oraz tworzenie nowej funkcjonalności dla modułu
- ułatwiają reużycie gotowych już komponentów
- pozwalają rozdzielić zadania pomiędzy wielu deweloperów



Aplikacja kompozytowa w Prism składa się z następujących części:

Modules - podstawowa jednostka w Prism. Każdy moduł dostarcza pewnej funkcjonalności. Każdy moduł może być osobno modyfikowany, testowany i rozwijany niezależnie od całej aplikacji.
Module catalog - przechowuje moduły, które podczas działania będą załadowane do aplikacji.
Shell - aplikacja do której są ładowane moduły. Przeważnie jest to główne okno do którego będą ładowane poszczególne moduły.
Views - są to kontrolki interfejsu użytkownika. Za pomocą bindingu uaktualniają i pobierają dane z modelu.
View models and presenters - przechowują logikę i stan aplikacji.
Models - logika biznesowa, walidacja itp.
Commands - przechowują funkcjonalność która nie jest powiązana z specyficzną kontrolką w widoku. Dzięki temu są testowalne i przenośne.
Regions - miejsca w które będą ładowane kolejne widoki. Mogą to być kontrolki typu: ContentControl, ItemsControl, ListBox, TabControl
Navigation - proces w którym zmienia się zawartość interfejsu użytkownika.
EventAggregator - pozwala na komunikację między komponentami
Dependency injection container - tworzy zarejestrowane w nim typy

Prism można ściągnąć z CodePlexu: http://compositewpf.codeplex.com/
Wypakowujemy pliki do folderu. W środku znajduje się wszystko co jest potrzebne aby rozpocząć pracę z frameworkiem. Nas interesują pliki zawarte w katalogu {Prism instal location}\Bin\ tutaj znajdują się potrzebne dll do projektu w którym będziemy używali Prisma. W moim przypadku zamierzam się skupić na wersji dla WPF, jednak dla silverlight procedura jest praktycznie taka sama. Do projektu musimy dodać referencje do następujących bibliotek:


Po dodaniu referencji mamy poprawnie przygotowany grunt pod budowę naszej aplikacji.

W następnym artykule przedstawię przykłady wybranych zagadnień z wzorców wykorzystywanych w Prism.

Źródło:
http://compositewpf.codeplex.com/
http://www.codeproject.com/KB/WPF/ViewSwitchingAppsPrism4.aspx

Brak komentarzy:

Prześlij komentarz