Łukasz Szumyło

Łukasz Szumyło Xamarin Developer

Temat: Prism vs MEF

Witam,

Ostatnio zacząłem się uczyć Prism'a pod nowy projekt w Silverlight 4.
Czy ktoś z was ma doświadczenia związane z Prism i MEF i może napisać jakie są podobieństwa, różnice, plusy i minusy tych technologii ?

konto usunięte

Temat: Prism vs MEF

Używam na co dzień PRISM 2.2. Z początku wydawał mi się genialnym narzędziem jednak wraz ze zwiększeniem wymogów aplikacji bardziej przeszkadzał niż pomagał. Ponoć Prism 4 ma dużo więcej fajnych bajerów.

Przykłady słabostek:
- nie da się wyłączyć już załadowanego modułu,
- dość zawiłe zarządzaniem cyklem życia obiektów

Co do MEFa będę miał go możliwość używać w najbliższym projekcie, jednak jeszcze o nim za wiele nie wiem. Fakt jest taki, że MEF jest oficjalnie "wspierany" przez Microsoft i na pierwszy rzut oka dużo można nim zrobić.
Łukasz Szumyło

Łukasz Szumyło Xamarin Developer

Temat: Prism vs MEF

Ja też zatrzymałem się na PRISM'ie i jakoś do MEF'a mi nie spieszno (Bratek Papuch miał prezentację na temat Silverlight'a i MVVM na MTS 2010 i powiedział, że testowali u siebie w firmie - Comarch - MEF'a i zauważyli dużo wycieków pamięci - jak na razie ta informacja blokuje mnie przed zbadaniem nowego podejścia).

Nie za bardzo rozumiem po co chciałbyś wyłączyć załadowany moduł - jeśli go potrzebujesz i Prism Ci go zaciągnie na maszynę kliencką to chciałbyś go usunąć z maszyny klienckiej ?

Co do zarządzania cyklem życia obiektów to masz na myśli Unity ?

Rzeczywiście, w wersji 4 bodajże jest coś w stylu DI Locator.

konto usunięte

Temat: Prism vs MEF

W pewnym momencie do naszej aplikacji trzeba było dołączyć wielofirmowość. Różne firmy mają wykupione różne pakiety, a co za tym idzie różne moduły powinny mieć załadowane. Okazało się dość problematyczne lub nawet niemożliwe zwykłe wyłączenie modułu po zalogowaniu użytkownika na inną firmę.

Testowaliśmy wiele rozwiązań i żadne nie było rewelacyjne.
Łukasz Szumyło

Łukasz Szumyło Xamarin Developer

Temat: Prism vs MEF

Hmmm... ale macię rozwiązanie komponentowe, gdzie dopiero w momencie potrzeby ściągany jest XAP na maszynę kliencką ? Jeśli tak to ze zgrabnym zarządzaniem uprawnieniami, można osiągnąć taki efekt.

Mamy podobną sytuację w naszym projekcie, ale prawdopodobnie jest za wcześnie na tego typu rzeczy, poza tym id klienta bierze czynny udział w każdym request tak więc nawet jeśli dałoby radę uruchomić moduł do którego użytkownik nie ma prawa to i tak dane się nie zaciągną.Łukasz Szumyło edytował(a) ten post dnia 29.04.11 o godzinie 17:30

Następna dyskusja:

MVVM + prism + NavigationFrame




Wyślij zaproszenie do