Vra

Watter probleme het MEF (Managed Uitbreidings Framework) los wat nie opgelos kan word deur bestaande IoC / DI houers?

Was dit nuttig?

Oplossing

Die beginsel doel van MEF is rekbaarheid; om te dien as 'n "plug-in 'n raamwerk vir wanneer die skrywer van die aansoek en die skrywer van die plug-in ( uitbreiding ) is anders en het geen besondere kennis van mekaar verby 'n gepubliseerde koppelvlak ( kontrak ) biblioteek.

Nog 'n probleem ruimte MEF adresse wat anders as die gewone IoC verdagtes, en een van MNFS sterkpunte, is [verlenging] ontdekking. Dit het 'n baie, goed, extensible ontdekking meganismes wat werk op metadata jy kan assosieer met uitbreidings. Van die MEF CodePlex webwerf:

"MEF laat kodering uitbreidings met additonal metadata wat ryk bevraagteken en filtrering fasiliteer"

In kombinasie met 'n vermoë om te vertraag laai gemerk uitbreidings, in staat is om uitbreiding metadata ondervra voor om die laai die deur oopmaak na 'n keur van interessante scenario's en aansienlik in staat stel om vaardighede soos [plug-in] weergawes.

MEF het ook 'Contract Adapters' wat toelaat dat uitbreidings word 'aangepas' of 'getransformeerde' ( van tipe> na tik) met volle beheer oor die besonderhede van die transforms. Kontrak Adapters oop te maak 'n ander kreatiewe front relatief tot net wat 'ontdekking' beteken en behels.

Weereens, MNFS 'opset' is styf gefokus op anonieme plug-in rekbaarheid, iets wat baie onderskei dit van ander IoC houers. Dus, terwyl MEF kan gebruik word vir die samestelling, dit is bloot 'n klein hoek van sy vermoëns met betrekking tot ander IoCs, waarmee ek vermoed ons sal sien 'n baie bloedskendige wisselwerking vorentoe.

Ander wenke

IoC houers fokus op die dinge wat jy weet dit wil sê wat ek weet ek sal een logger in 'n Eenheid Toets en 'n ander Logger in my app gebruik. MEF fokus op die dinge wat jy nie, daar is 1 tot N loggers wat mag voorkom in my stelsel.

Scott Hans Elman en ek bedek hierdie onderwerp in meer detail in die onlangse hanselminutes.

http://www.hanselminutes.com/default.aspx?showID=166

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top