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: 17236|Respuesta: 0

[Comunicación] ¿Inyección de dependencia, cuáles son los beneficios de usarla?

[Copiar enlace]
Publicado en 10/2/2019 18:14:29 | | |
Primero, la creación de objetos relacionados de clases puede hacerse efectivamente por nuevo. Sin embargo, cuando el proyecto es demasiado grande y el objeto tiene demasiadas dependencias, necesitamos escribir mucho código nuevo al construir el objeto, y puede haber un método para llamar directamente al objeto después de olvidar instanciar algunos objetos dependientes, entonces habrá una excepción de puntero nulo. Si este proceso se deja a la gestión de contenedores, no tenemos que preocuparnos por la instanciación de objetos, y no habrá excepciones de puntero nulo al usar objetos dependientes en ningún momento, y el código puede simplificarse.
Segundo, los atributos usados en el proceso de llamada al método pueden ser atributos de instancia; si todos están definidos como estáticos, ¿qué pasa con los datos usados en el método? Si defines todos los métodos como estáticos, entonces las propiedades de la clase referenciada en el método también deben definirse como estáticas, lo que equivale a atributos globales, así que definitivamente habrá problemas de sincronización de datos.
De hecho, tiene sentido pensar en los principios de programación dados en el patrón de diseño, todos orientados a construir código altamente legible, fácil de mantener y escalable. ¡Mucha suerte!

Es conveniente ensamblar software en forma de bloques de construcción, y es conveniente crear software con alta cohesión y bajo acoplamiento (extrayendo dependencias del código)
Desarrollo colaborativo, depuración de código (no es necesario integrar componentes, se pueden probar por separado) y el código creado es más robusto.

El desarrollo de proyectos presta atención a una alta cohesión y bajo acoplamiento, y el uso de inyección de dependencias puede evitar el uso de la nueva área de palabras clave para crear objetos, reduciendo así el acoplamiento entre clases






Anterior:c# Marshal.PtrToStructure
Próximo:Cifrado, descifrado y lenguaje ensamblador
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