Vra

Ek moet absoluut 'n IoC houer gebruik vir ontkoppeling afhanklikhede in 'n steeds toenemend komplekse stelsel van dienste onderneming. Die probleem is ek in die gesig staar is een verband hou met opset (ook bekend as registrasie). Ons het tans 4 verskillende omgewings - ontwikkeling tot produksie en in tussen. Hierdie omgewings het talle konfigurasies wat effens verskil van omgewing tot omgewing; egter in alle gevalle wat Ek kan op die oomblik dink aan , afhanklikhede tussen komponente verskil nie van omgewing tot omgewing, al het ek iets kon gemis het en / of dit kan natuurlik verander.

So, die uiteindelike vraag is, beteken iemand het 'n soortgelyke ervaring met behulp van 'n IoC raamwerk? Of kan iemand beveel een raamwerk oor 'n ander wat jou sal bied buigsame registrasie of dit nou deur middel van 'n soort van konvensie of vereenvoudigde opset inligting? Sou ek steeds in staat wees om voordeel te trek uit 'n vlot koppelvlak of is ek vas met XML -. Ek wil graag XML-hel te vermy

Edit: Dit is 'n Net omgewing en ek is op soek na Windsor, Ninject en Autofac. Hulle het almal lyk nou ondersteun beide metodes van registrasie (vlot en XML), alhoewel Autofac se ondersteuning vir lambda uitdrukkings lyk 'n bietjie anders as die ander te wees. Enigiemand gebruik wat in 'n soortgelyke multi-ontplooiing omgewing?

Was dit nuttig?

Oplossing

Ek gebruik Ninject . Ek hou van die feit dat ek nie hoef te Xml gebruik om die afhanklikhede op te stel. Ek kan net gebruik regop C # kode. Daar is verskeie maniere van doen dit ook. Ek weet ander biblioteke het dat die funksie, maar Ninject bied 'n vinnige Instantiëring, dit is redelik liggewig, dit het voorwaardelike bindende, ondersteun kompakte raamwerk, en dit word ondersteun deur Silver, 2.0. Ek gebruik ook 'n wrapper op die top van dit, in geval ek dit skakel uit vir 'n ander raamwerk in die toekoms. Jy moet beslis probeer Ninject wanneer jy moet besluit op 'n raamwerk.

Ander wenke

As jy wil abstrakte jou houer, en in staat wees om verskillende mense gebruik, kyk na wat dit inspuitbare op 'n manier het ek probeer om dit hier

Ek is nie seker of dit jou spesifieke geval sal pas, jy het geen melding van wat platform wat jy in werk, maar ek het 'n groot sukses met Castle Windsor se IOK raamwerk . Die afhanklikhede is setup in die opstelling lêer (dit is 'n NET raamwerk)

Kyk na Ayendes renoster commons. Hy gebruik 'n abstraksie oor die IOK houer. Sodat jy houers kan skakel wanneer jy wil. Iets soos container.Resolve is daar altyd in elke houer.

Ek gebruik Structuremap om die vuil werk dit het 'n vlot koppelvlak en die XML dinge doen en dit is kragtige genoeg vir die meeste dinge wat jy wil doen. Elkeen het sy eie voor-en nadele so 'n bietjie onttrekking sodat jy maklik kan wissel (jy weet nooit hoe lank hulle gaan om te wees) is goed. Vir die res dink ek Spring.Net, Castle Windsor, Ninject en StructureMap is nie so ver van mekaar nie.

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