¿En qué principios se basa el modelo de desarrollo de tdd?
El modelo de desarrollo tdd se basa en el principio de inversión.
El principio de inversión de dependencia se basa en el hecho de que las cosas abstractas son mucho más estables que la variabilidad de los detalles. Una arquitectura construida sobre la abstracción es mucho más estable que una arquitectura construida sobre los detalles.
En Java, la abstracción se refiere a interfaces o clases abstractas, y los detalles son clases de implementación específicas. El propósito de usar interfaces o clases abstractas es formular especificaciones y contratos sin involucrar ninguna operación específica. mostrando los detalles a sus clases de implementación. La idea central del principio de inversión de dependencia es la programación orientada a interfaces.
La adopción del principio de inversión de dependencia aporta una gran comodidad al desarrollo paralelo de varias personas. Por ejemplo, en el ejemplo anterior, cuando la clase Madre y la clase Libro estaban directamente acopladas, la clase Madre tenía que hacerlo. Espere hasta que se complete la codificación de la clase Libro porque la clase Madre depende de la clase Libro. Los programas modificados se pueden iniciar al mismo tiempo sin afectarse entre sí, porque las clases Madre y Libro no tienen nada que ver entre sí.
Cuantas más personas participen en el desarrollo colaborativo y cuanto más grande sea el proyecto, más significativo será adoptar el principio de causa de dependencia. El ahora popular modelo de desarrollo TDD es la aplicación más exitosa del principio de inversión de dependencia.
Hay tres formas de transferir dependencias. El método utilizado en el ejemplo anterior es la transferencia de interfaz. También hay dos métodos de transferencia: transferencia del método constructor y transferencia del método setter. Estará familiarizado con las dependencias. El método de entrega definitivamente no será desconocido. En la programación real, generalmente necesitamos cumplir con los siguientes tres puntos:
1. Los módulos de bajo nivel deben tener clases o interfaces abstractas, o ambas.
2. El tipo declarado de una variable debe ser una clase o interfaz abstracta tanto como sea posible.
3. Siga el principio de sustitución de Liskov cuando utilice la herencia.
El núcleo del principio de inversión de dependencia es que programamos para interfaces. Si entendemos la programación orientada a interfaces, también entendemos la inversión de dependencia.