2011-10-25 3 views
23

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

17

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.

3

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.

12

Se siete interessati a come vengono utilizzati nelle applicazioni web su larga scala, uno di questi è OrchardCMS; usa Autofac.

+4

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). –

53

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

+0

+1 Un articolo buono e perfetto. Quindi grazie –

+0

è un buon articolo, ma fai attenzione ai commenti sull'unità di un test non valido. –

+1

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

2

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.