Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 21011|Respuesta: 0

[Programa de consola] C# Serie Unity (1) Los programas de consola implementan inyección de dependencias de interfaz

[Copiar enlace]
Publicado el 16-7-2020 17:04:11 | | | |
Los contenedores Unity (Unity) son contenedores de inyección de dependencias completos y extensibles. Ayuda a construir aplicaciones poco acopladas y ofrece a los desarrolladores los siguientes beneficios:

Creación simplificada de objetos, especialmente para estructuras y dependencias jerárquicas de objetos
abstracción de requisitos; Esto permite a los desarrolladores especificar dependencias en tiempo de ejecución o configuración y simplifica la gestión de preocupaciones transversales
Aumentar la flexibilidad deferiendo la configuración de componentes a los contenedores
capacidades de posicionamiento de servicio; Esto permite a los clientes almacenar o almacenar en caché contenedores
Intercepción de instancias y tipos
Acepta registrarte

Empieza creando una nueva aplicación de demo de Csharp Unity.

NuGet instala 2 paquetes con el siguiente comando:

Crea una nueva interfaz IUser y una nueva clase de usuario, el código es el siguiente:



Configurar el archivo App.config

No se pudo cargar el archivo ni el ensamblador 'Microsoft.Practices.Unity.Configuration'
https://www.itsvse.com/thread-9220-1-1.html

Define un nodo Unity con contenedores en él, y puede haber varios contenedores en la colección, de la siguiente manera:

La configuración abreviada es la siguiente:



En el método de entrada de archivos Program, llama al método GetUserName de nuestra nueva interfaz IUser a través de Unity, el código es el siguiente:

Los resultados de la implementación son los siguientes:



Como puedes ver, cada vez que usamos Unity, instanciamos un nuevo objeto de usuario.

Descarga del código fuente:El inicio de sesión del hipervínculo es visible.





Anterior:(Error) cvc-datatype-valid.1.2.1: 'xx' no es un valor válido para 'gYearMonth'.
Próximo:Linux busca archivos que contengan un determinado carácter bajo la carpeta
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com