foo
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| foo [2023/04/08 15:46] – [Open/Closed Principle] tempwin | foo [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, | ||
| + | </ | ||
| ==== 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 | + | ==== The Interface Segregation |
| + | |||
| + | 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
