Herramientas de usuario

Herramientas del sitio


foo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
foo [2023/04/08 15:46] – [Open/Closed Principle] tempwinfoo [2023/04/08 15:57] (actual) – [Uncle Bob SOLID principles] tempwin
Línea 408: Línea 408:
   * **I**SP: The Interface Segregation Principle.   * **I**SP: The Interface Segregation Principle.
   * **D**IP: The Dependency Inversion Principle.   * **D**IP: The Dependency Inversion Principle.
 +
 +<WRAP center round info 60%>
 +Los principios de diseño **SOLID** son principios, no reglas. Es mejor usar el sentido común cuando se aplica SOLID. **SOLID** es una herramienta, no el objetivo.
 +</WRAP>
  
 ==== Single Responsibility Principle ==== ==== Single Responsibility Principle ====
Línea 435: Línea 439:
 Las clases derivadas deben ser usables a través de la interfaz de base sin necesidad de que el usuario sepa la diferencia. Las clases derivadas deben ser usables a través de la interfaz de base sin necesidad de que el usuario sepa la diferencia.
  
-====  The Interface Segregation Principl ====+====  The Interface Segregation Principle ==== 
 + 
 +Ningún cliente debería ser forzado a depender de métodos que no usa. 
 + 
 +Cambiar un método en una clase no debería afectar a clases que no dependen de él. 
 + 
 +Reemplazar interfaces demasiado populadas por varias pequeñas, pero específicas interfaces. 
  
 ==== The Dependency Inversion Principle ==== ==== The Dependency Inversion Principle ====
  
 +Los módulos de alto nivel no deberían depender de módulos de bajo nivel. Ambos deberían depender de abstracciones.
 +
 +Nunca dependas de algo concreto, solo de las abstracciones.
 +
 +Hay que ser capaz de modificar una implementación fácilmente sin alterar el código de alto nivel.
foo.1680961601.txt.gz · Última modificación: por tempwin