Ho un po 'di esperienza nel lavoro di Structuremap
. E ora sto creando una grande e larga scala di app web (in realtà un sito di social networking) utilizzando ASP.NET MVC 3
, Entity Framework 4.1 code-first
, SqlServer 2008
, tramite C#.NET 4
. Chi di Structuremap
, AutoFac
, e Ninject
sarebbe suggerire che usi in questo caso? Le prestazioni e la facilità d'uso sono importanti. Grazie a qualsiasi aiuto, idea e suggerimento.Structuremap, AutoFac o Ninject, quale è l'ideale per un'app web su larga scala?
risposta
Penso che non ci siano differenze tra di loro! È associato su te stesso. Ogni corpo ha alcuni favoriti, e anche tu. Io uso StructureMap
ed è abbastanza buono per applicazioni di grandi dimensioni e/o su piccola scala.
UPDATE:
Beh, qualche mese fa mi sono incontrato con Simple Injector che è davvero molto semplice, e in realtà veloce. L'ho usato in diversi progetti con scale diverse, e funziona davvero perfettamente.
Ho solo guardato/usato Ninject e semplicemente non mi sono preoccupato di guardare gli altri. La semplicità d'uso & è una bassa curva di apprendimento che si adatta molto bene al mio ultimo paio di progetti. IMO, è un ottimo contenitore IoC per progetti grandi e piccoli.
Se siete interessati a come vengono utilizzati nelle applicazioni web su larga scala, uno di questi è OrchardCMS; usa Autofac.
Questo articolo presenta una buona sintesi dei più comuni framework IoC e ne discute le prestazioni e la facilità d'uso. Tutto sommato un'ottima lettura!
http://philipm.at/2011/di_speed.html
& un follow-up a http://philipm.at/2011/di_speed_redux.html
+1 Un articolo buono e perfetto. Quindi grazie –
è un buon articolo, ma fai attenzione ai commenti sull'unità di un test non valido. –
Post aggiuntivo sulla performance del framework IoC http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison con codice benchmark su GitHub https://github.com/danielpalme/IocPerformance – mdonatas
Ho usato l'Unità (qualche tempo fa), autofac e StructureMap e preferisco StructureMap, in particolare per il suo metodo AssertConfigurationIsValid
che uso in unit test per , beh, asserisci che la mia configurazione di StructureMap è valida (rilevante se stai usando DI) basato sul costruttore.
Per quanto ne so, StructureMap offre questa funzionalità.
Quando si utilizza ASP.NET MVC, mi piace anche il modo in cui il pacchetto StructureMap NuGet collega le cose per voi.
NopCommerce è un motore di e-commerce open source ampiamente utilizzato (molto scalabile, utilizzato per alcune grandi installazioni) che utilizza anche Autofac (è stato recentemente rimosso da Unity). –