Pracuję z MEF od około 2 tygodni. Zacząłem myśleć o tym, do czego służy MEF, badając, jak korzystać z MEF, i wreszcie wdrożyłem Host z 3 modułami. Kontrakty okazują się łatwe do zrozumienia, a modułami można łatwo zarządzać.
Chociaż MEF ma bardzo praktyczne zastosowanie, zastanawiam się w jakim stopniu? Mam na myśli, czy wszyscy będą przepisywać istniejące aplikacje w celu rozszerzenia?
Tak, to brzmi i jest niesamowicie niepraktyczne. Retorycznie rzecz biorąc:
jak MEF wpływa na obecne trendy w programowaniu?
zacząłeś szukać możliwości korzystania z MEF?
Czy zacząłeś planować poważny przepis na istniejącej aplikacji, która może zyskać na rozszerzalności?
To powiedziawszy, moje pytania brzmią:
skąd mam wiedzieć, kiedy powinienem zaplanować nowy projekt z możliwością rozszerzenia?
skąd będę wiedział, czy istniejący projekt wymaga przepisania w celu rozszerzenia?
Czy ktoś używa MEF?
źródło
Obecnie używam MEF w kilku projektach, które zawierają wzorzec repozytorium.
Jeden używa różnych typów repozytoriów podczas testów jednostkowych, drugi używa lokalnych (prosto do DB), zdalnych (WCF) i testujących repozytoria.
Oba projekty mogą zmieniać typy repozytoriów za pomocą kodu lub konfiguracji i są oparte na metadanych MEF / typach Lazy.
Do tej pory oba projekty przebiegają niezwykle dobrze.
źródło