risposta

4

sono andato attraverso questo processo di valutazione, e ho scoperto che Funq stata una bella implementazione pulita che mi ha dato abbastanza potere di fare ciò che Volevo senza complicare troppo le cose (o il trascinamento è enorme dipendenza). È bello e pulito e supporta l'inizializzazione di oggetti pigri tramite espressioni lambda.

Ho valutato 5 o 6 contenitori diversi specificamente per l'uso con MonoTouch.

http://funq.codeplex.com/

+0

Ti ricordi quale e come li hai valutati? – Alxandr

+0

Mi spiace, non ricordo quali testati ho provato. Li ho appena inseriti nella mia applicazione e ho cercato di raggiungere il livello di funzionalità di cui avevo bisogno e ho valutato quanto era necessario "fudging" per ogni libreria. Come già detto - Funq è stato davvero facile da usare e ha fornito tutto ciò di cui avevo bisogno. – Adam

0

Pensavo che menzionassi Spring.Net, usiamo estesamente la versione originale [Java] in tutte le nostre applicazioni.

Spring [su Java, almeno] ha molti. molti moduli [opzionali]. Non ho provato la versione .Net da solo, ma sono interessato a scoprire come si confronta.

Acclamazioni

Rich

P.S. Spring.Net è concesso in licenza Apache, quindi è utilizzabile in progetti commerciali a sorgente chiusa (pensa iOS/iPhone ecc.)

+0

Perché il voto negativo? Se hai informazioni contrarie a quella primavera.Net non può essere usato con Monotouch, si prega di aggiornare questa pagina per far sapere a tutti che. Altrimenti, il mio "suggerimento" è ancora valido, no? –

0

Ho rilasciato Stiletto, un IoC che funziona su tutte le piattaforme .NET, inclusi Xamarin e MonoTouch. Permette di specificare le dipendenze principalmente usando gli attributi e aggira le limitazioni sulla riflessione in fase di runtime e le generiche istanze facendo il suo compito in fase di compilazione.

EDIT

dovrò aggiornare la documentazione, ma lo strumento di pre-compilazione lo fa non lavoro con gli strumenti di costruzione in corso in Xamarin Studio. La pre-compilazione dello stiletto richiede xbuild, che è supportato per Xamarin.Android ma non per Xamarin.iOS! Sfortunatamente, questo significa che la mia risposta è per lo più errata, cioè, a meno che tu non voglia scrivere app iOS in Visual Studio, che è quello che stavo facendo! Scuse. Cancellerà questa risposta tra qualche giorno.

+0

Dai documenti sembra che abbia solo la configurazione basata su attributi. È vero? – Shaddix

+0

Sì, esplicitamente così. È progettato per utilizzare codegen in fase di compilazione per aggirare le restrizioni su iOS che ostacolano gli attuali contenitori IoC e quindi non è molto configurabile in fase di runtime - oltre a Container.Add (Container), ovvero. – Ben