Estoy aprendiendo sobre el principio de inversión de dependencia. Se afirma que:
Los módulos de alto nivel no deberían depender de los módulos de bajo nivel. Ambos deberían depender de abstracciones.
Durante un tiempo traté de comprender lo que significa que tanto los componentes de alto nivel como los componentes de bajo nivel dependen de las abstracciones y dependen de ellos .
Supongo que ambos deberían depender de la misma abstracción de alguna manera. Por favor corrígeme si esto está mal.
He llegado a alguna conclusión sobre lo que esto significa. Por favor confirme si esto es correcto.
" Los componentes de alto nivel dependen de la abstracción" - Significado:
Los componentes de alto nivel se comunican con una interfaz para comunicarse con los componentes de bajo nivel , en lugar de comunicarse directamente con componentes concretos de bajo nivel. Los componentes de bajo nivel implementan esta interfaz.
" Los componentes de bajo nivel dependen de la abstracción" - Significado:
Los componentes de bajo nivel están definidos y diseñados en los términos de la interfaz. Están diseñados para adaptarse a la interfaz . Dependen de la interfaz, en la forma en que la interfaz define cómo están diseñados. (A menudo, las clases de bajo nivel implementan esa interfaz).
De esta manera, tanto los componentes de alto nivel como los de bajo nivel son "dependientes de la abstracción", pero de diferentes maneras.
¿Es esto un buen entendimiento?