Domanda

Quali CIO di prendere in considerazione durante lo sviluppo di progetto di applicazione Web ASP.NET e quali sono i vantaggi di diversi CIO?

  1. ObjectBuilder
  2. Unità
  3. Spring.NET
È stato utile?

Soluzione

Non è nella lista, ma prendere in considerazione guardando Castello di Windsor

Numero di comodità come supporto fabbriche modo che il prodotto non è iniettato fabbrica fabbrica stessa o l'impianto Wcf per iniettare un proxy o creare un host con dipendenze.

ha una bella interfaccia fluida per il cablaggio singoli elementi, ma preferibilmente si userebbe una convenzione per legare auto in modo che non si dispone di elencare ciascun componente.

Alcune altre caratteristiche interessanti:

  • Richiede una singola DLL dal nuova revisione.
  • I supporti che iniettano liste e array tramite risolutori SubDependancy

Qui è un sondaggio di quest'anno che mostra il CIO favorita. L'unità sembra essere superiore, ma che è probabilmente perché è un prodotto Microsoft e laboratori Microsoft lo pick up per impostazione predefinita.

Altri suggerimenti

StructureMap su un progetto ASP.NET MVC e l'abbiamo trovato incredibilmente utile. L'unico vero problema è la documentazione limitata. L'auto-cablaggio funziona davvero bene e richiede pochissima configurazione se si utilizza convenzioni forti dare un nome alle classi e interfacce, per esempio:.

 public interface ISomething { ... }

 public class Something: ISomething { ... }

In precedenza abbiamo utilizzato Spring.NET, anche se abbiamo mollato che perché fa un sacco di altri (non-CIO) cose che non abbiamo davvero bisogno e richiesto di configurazione XML complessa da fare quello che ci serviva. Come un contenitore CIO ha funzionato bene e anche se fosse altamente flessibile.

La cosa fondamentale mi consiglia di ciò che si sceglie è codifica per consentire l'utilizzo di IoC - usiamo le interfacce in tutto il luogo. Questo fa davvero test aiuto dell'unità e tutti i benefici che porta troppo.

La roba unità nella MVC3 ha un aspetto troppo interessante, ma non ha avuto la possibilità di giocare con esso ancora.

dubito molte persone hanno utilizzato più di due o tre di questi, e nella mia esperienza molto limitata con Unity e Ninject, non c'è molta differenza nel risultato finale. Hanno leggermente diverse opzioni per la configurazione delle mappature, e sono sicuro che alcune delle funzioni più avanzate sono diversi, ma questi sono probabilmente usato raramente. Alla fine della giornata i requisiti di base per un contenitore CIO non sono così complicato - si potrebbe facilmente rotolare il proprio

.

Molto più importante è che si sta utilizzando un modello di CIO, quale marca particolare si sceglie probabilmente non ha un impatto significativo sulla qualità della domanda risultante.

Per quel che vale io consiglierei Ninject se non altro perché è molto leggero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top