Principios SOLID y relación con patrones de diseño
👀 Principios SOLID y su relación con los patrones de diseño Gang of Four (GoF)
Los patrones GoF son soluciones para resolver problemas en el diseño software, mientras que los principios SOLID son 5 reglas para garantizar un buen diseño software:
- Responsabilidad única (SRP): Una clase debe tener una sola razón para cambiar.
- ✅ Patrones que ayudan: Decorator (estructural), Facade (estructural) y Observer (comportamental)
- ❌ Patrones que pueden violarlo: Singleton (creacional) y Mediator (comportamental)
- Abierto/Cerrado (OCP): Abierto para extensión, cerrado para modificación.
- ✅ Patrones que ayudan: Strategy (comportamental), Decorator, Template Method (comportamental) y Abstract Factory (creacional)
- ❌ Patrones que pueden violarlo: Visitor (comportamental)
- Sustitución de Liskov (LSP): Las clases hijas deben poder sustituir a las clases padre sin alterar el funcionamiento del programa.
- ✅ Patrones que ayudan: Template Method, Factory Method (creacional), State (comportamental) y Strategy
- ❌ Patrones que pueden violarlo: Strategy y Template Method mal diseñados/implementados
- Segregación de Interfaces (ISP): Interfaces pequeñas y específicas, eliminando las que no se utilizan.
- ✅ Patrones que ayudan: Adapter y Bridge (estructurales)
- ❌ Patrones que pueden violarlo: Muchas implementaciones de Visitors y Mediators
- Inversión de Dependencias (DIP): Hay que depender de abstracciones, no de implementaciones concretas.
- ✅ Patrones que ayudan: Strategy, Abstract Factory, Bridge y Observer
- ❌ Patrones que pueden violarlo: Singleton
⚠️ IMPORTANTE: Por norma general los patrones GoF NO GARANTIZAN un buen diseño según los principios SOLID, pueden ayudar a cumplirlos o violarlos si se usan terriblemente mal
TAICord