pondělí 19. září 2011

Unity vs MEF vs PRISM


Unity, MEF a PRISM jsou kniovny, které řeší závyslosti, modularitu a lehkou rozšiřitelnost vaší aplikace. Podívejme se stručně, jaké jsou v nich rozdíly.


Unity vs MEF
Unity se nejvíce používá k pro pevné statické závislosti a je to více "vnitřní" technologie. Nikdo mimo vyvojáře nic nemusí vědět o vnitřním uspořádaní aplikace.
MEF se používá pro řešení dynamických závislostí, dynamické načítání komponent. Pomocí MEF lze snadno tvořit rozšiřující moduly aplikace.


PRISM 
Je framework využívající Unity nebo MEF, který umožňuje vytvářet modulární aplikace, kdy si aplikace může sama moduly natahovat až ve chvíly kdy je potřebuje. Pomocí RegionManager můžete pohledy z modulů vkládat do hlavního okna (Shell) aplikace. Pro sdílení událostí se využívá EventAggregator a Command. PRISM je možné využít s výhodou u návrhového vzoru ModelView-ViewModel.

Pod čarou:
  • MEFnení IoC (Inversion of Control) kontejnér, ale využívá IoC koncept.
  • Unity je IoC kontejnér.
  • MEF se zaměřuje především na rozšiřitelnost aplikace a na uspořádání pomocí kompozice. Aplikaci skládáme z částí.
  • PRISM je kompletní řešení pro tvorbu uživatelských aplikací.
  • MEF není kompletní řešení pro tvorbu uživatelských aplikací, je to jen knihovna umožňující snadnou rozšiřitelnost aplikace.

1 komentář:

Anonymní řekl(a)...

"Závislost" s měkkým "i" je ohleduplnější, díky.