Respuesta

4

Fui a través de este proceso de evaluación, y me encontré con que Funq fue una agradable aplicación limpia que me dio el poder suficiente para hacer lo Lo quería sin complicar demasiado las cosas (o arrastrar es una dependencia masiva). Es agradable y limpio, y admite la inicialización de objetos perezosos a través de expresiones lambda.

Evalué 5 o 6 contenedores diferentes específicamente para usar con MonoTouch.

http://funq.codeplex.com/

+0

¿Recuerdas cuál y cómo los evaluaste? – Alxandr

+0

Lo siento, no puedo recordar cuáles he probado. Acabo de conectarlos a mi aplicación e intenté alcanzar el nivel de funcionalidad que necesitaba, y evalué la cantidad de 'fudging' requerida para cada biblioteca. Como se mencionó, Funq fue realmente fácil de usar y proporcionó todo lo que necesitaba. – Adam

0

Pensé que mencionaría Spring.Net, usamos la versión original [Java] extensamente en todas nuestras aplicaciones.

Spring [en Java, al menos] tiene muchas. muchos módulos [opcionales]. No he probado la versión de .Net, pero me interesa saber cómo se compara.

Saludos

Rich

P. S. Spring.Net tiene licencia de Apache, por lo que es utilizable en proyectos comerciales de código cerrado (piense en iOS/iPhone, etc.)

+0

¿Por qué votar abajo? Si tiene información contraria a Spring.Net no se puede usar con Monotouch. Actualice esta página para que todos lo sepan. De lo contrario, mi "sugerencia" sigue siendo válida, ¿no? –

0

He lanzado Stiletto, un IoC que funciona en todas las plataformas .NET, incluyendo Xamarin y MonoTouch. Le permite especificar sus dependencias, principalmente utilizando atributos, y evita las limitaciones de la reflexión en tiempo de ejecución y las instancias genéricas haciendo lo suyo en tiempo de compilación.

EDITAR

Voy a tener que actualizar la documentación, pero la herramienta de pre-compilación lo hace no trabajo con las herramientas de construcción actuales en Xamarin Studio. La precompilación de Stiletto requiere xbuild, que es compatible con Xamarin.Android pero no con Xamarin.iOS! Desafortunadamente, esto significa que mi respuesta es en su mayoría incorrecta, es decir, a menos que quieras escribir aplicaciones de iOS en Visual Studio, que es lo que he estado haciendo. Disculpas Eliminará esta respuesta en unos días.

+0

De los documentos parece que solo tiene configuración basada en atributos. ¿Es verdad? – Shaddix

+0

Sí, explícitamente. Está diseñado para usar codegen en tiempo de compilación para evitar restricciones en iOS que dificultan los contenedores IoC actuales, y por lo tanto no es muy configurable en tiempo de ejecución, más allá de Container.Add (Container), eso es. – Ben

Cuestiones relacionadas