MEF: zamiennik pryzmatu?

W jakim stopniu, jeśli w ogóle, MEF jest zamiennikiem pryzmatu?

Author: Steve, 2009-08-25

4 answers

Edit: nie czytaj tej odpowiedzi. To żenująco złe. Jestem porażką. Przeczytaj Glenn Block poniżej.

To nie jest oczywiste, ale to jest to samo pytanie: W tym celu należy skontaktować się z Działem Obsługi Klienta pod adresem .]} Prism dostarcza ten sam podstawowy zestaw funkcjonalności na różne sposoby, z wyjątkiem tego, że Prism zapewnia agregator zdarzeń , który jest środkiem komunikacji pub-sub pomiędzy komponenty aplikacji. Możesz jednak użyć tego z MEF. To zależy od preferencji.

 8
Author: Anderson Imes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:19:40

Dzisiaj powiedziałbym, że Prism i MEF wzajemnie się uzupełniają. Tak jak pryzmat i jedność. Prism wprowadza zestaw konkretnych usług, takich jak RegionManager, DelegateCommand i EventAggregator, które pomagają w tworzeniu aplikacji złożonych. Z drugiej strony MEF jest bardziej ogólnym mechanizmem kompozycji dla rozszerzalności aplikacji i frameworków, niezależnie od tego, czy są to kompozyty, czy nie. Głównym wyróżnikiem MEF jest jego wykrywalność, co oznacza, że może wyjść i odkryć wszystkie dostępne części dynamicznie.

Być może zainteresuje cię sprawdzenie projektu MEF contrib (mefcontrib.codeplex.com), która zawiera warstwę integracyjną dla Unity i MEF. Dzięki temu rozszerzeniu Unity zarządza MEF za kulisami, więc nie walczysz z dwoma contianerami. Zaletą jest to, że pozwala na korzystanie z Unity dla ogólnych Pocos, a MEF dla wykrywania rozszerzeń. Tak więc, ponieważ Prism jest obecnie zbudowany na jedności, możesz go użyć do wykorzystania MEF. Aby skorzystać z projektu contrib, musisz kilka drobnych zmian w Unity Bootstrapper, ale powinno być dość trywialne.

Na pewno się pokrywają. Miejsce, w którym jest to najbardziej widoczne w odniesieniu do modułów. Prism używa IModule jako środka do odkrycia. W MEF każdy komponent może być częścią i może być dynamicznie wykrywany. Oznacza to, że w MEF masz modułowość od góry do dołu, gdzie w przypadku pryzmatu moduły są bardziej granulowanymi jednostkami. Aplikacje kompozytowe to zdecydowanie obszar, z którym jesteśmy związani na Czas na MEF. Z biegiem czasu jest całkiem prawdopodobne, że zobaczysz coraz więcej wsparcia dla budowania tego typu aplikacji w samym MEF. Współpracujemy z p & p, aby zapewnić płynne przejście.

 37
Author: Glenn Block,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-18 21:48:14

Spójrz na ten Sparkling Client podcast na MEF i Prism.

 2
Author: Brandon E Taylor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-24 20:58:55

MEF nigdy nie zastąpi pryzmatu

MEF jest menedżerem iniekcji zależności.to nie jest kontener iniekcji zależności.
MEF zapewnia możliwość przypisywania eksportu i importu w sposób delklarystyczny za pomocą atrybutów.

Prism z MEF daje możliwość automatycznego wykrywania bibliotek DLL oraz możliwość dodawania i usuwania wtyczek poprzez dodawanie lub usuwanie bibliotek DLL. Gdzie jako Framework prism daje agregator zdarzeń, region manager, lokalizator usług.

Możesz użyć prism bez MEF. Są różne inne opcje, takie jak ninject, unity i inne kontenery DI.

Możesz użyć MEF z prism do budowania rozszerzalnych aplikacji opartych na wtyczkach.

 0
Author: iaminvinicble,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-01 02:25:06