POO

Comments

  1. En donde es fundamental el uso del OCP YA QUE NOS DA BENEFICIOS COMO LA EXTENSIBILIDAD, reducción de errores y polimorfismo y ya que estamos que es polimorfismo 😞

  2. SOLID está enfocado solamente en facilitar el mantenimiento del desarrollo a futuro o qué otras ventajas ofrece además de orden en la estructura?

  3. Cuál es el impacto de no seguir los principios SOLID en términos de la calidad del código y la facilidad de mantenimiento cuando se trabaja con un sistema a largo plazo?

  4. 🧩 Principios SOLID – Parte I

    El artículo explica los dos primeros principios de SOLID, una guía creada por Robert C. Martin (Uncle Bob) para mejorar el diseño de software orientado a objetos, haciéndolo más mantenible, extensible y fácil de entender.

    1. SRP – Principio de Responsabilidad Única

    Definición: Cada clase debe tener una sola razón para cambiar, es decir, una única responsabilidad.

    Objetivo: Evitar que una clase haga demasiadas cosas, lo cual dificulta su mantenimiento.

    Ejemplo:

    ❌ Incorrecto: Una clase Reporte que genera, guarda y envía reportes.

    ✅ Correcto: Separar las responsabilidades en tres clases: Reporte, Archivador, y EnviarCorreo.

    Beneficios:

    Claridad conceptual.

    Mantenibilidad.

    Pruebas unitarias más sencillas.

    2. OCP – Principio Abierto/Cerrado

    Definición (Bertrand Meyer):
    Las entidades de software deben estar abiertas para extensión, pero cerradas para modificación.

    Objetivo: Poder añadir nuevas funciones sin cambiar el código ya existente.

    Ejemplo:

    ❌ Incorrecto: Una clase Calculadora con condicionales para cada figura (cuadrado, círculo, etc.).

    ✅ Correcto: Crear una interfaz Figura y que cada figura implemente su propia forma de calcular el área.

    Beneficios:

    Extensibilidad.

    Menos errores al no modificar código probado.

    Uso del polimorfismo.

    🧠 Conclusión

    El SRP busca claridad y cohesión en las clases.

    El OCP garantiza que el sistema crezca sin afectar su estabilidad.
    Ambos son pilares para escribir código limpio, escalable y profesional.

  5. Cómo se aplicarías conjuntamente el (SRP) y el (OCP) a una clase que inicialmente sólo genera reportes, pero que luego debe también enviarlos por correo y subirlos a la nube, sin modificar su funcionalidad central?

  6. ¿De qué manera los principios de Responsabilidad Única y Abierto/Cerrado contribuyen a mejorar la mantenibilidad y extensibilidad del software, y qué consecuencias puede tener ignorarlos en el diseño de un sistema orientado a objetos?

  7. qué problemas prácticos podrían surgir si una interfaz contiene métodos que algunos clientes no necesitan implementar?

Post a Comment