Skip to content

Open/Closed Principle (OCP) #4

Description

@JorgeAlvarez05

La solución propuesta consiste en incorporar la abstracción PassengerCounter, encargada de definir el comportamiento necesario para el conteo de pasajeros según diferentes criterios.

Posteriormente, se implementa la clase SeniorCitizenCounter, responsable de realizar el conteo de ciudadanos mayores. De esta manera, la clase StatisticsManagement deja de depender de una implementación específica y pasa a trabajar mediante la abstracción PassengerCounter.

Como se observa en el diagrama UML de la solución, la funcionalidad de conteo queda desacoplada de la generación de estadísticas, permitiendo extender el sistema mediante nuevas implementaciones sin modificar el código existente.

Beneficios de la Propuesta

Extensibilidad: Es posible incorporar nuevas estrategias de conteo, como StudentCounter, VipPassengerCounter o cualquier otra categoría, sin modificar las clases existentes.

Menor Acoplamiento: La clase StatisticsManagement trabaja con una abstracción en lugar de depender de implementaciones concretas.

Mayor Mantenibilidad: Las nuevas funcionalidades pueden añadirse mediante nuevas clases sin afectar el comportamiento actual del sistema.

Cumplimiento del Principio OCP: El sistema queda abierto para extensión y cerrado para modificación, permitiendo incorporar nuevos comportamientos sin alterar el código ya desarrollado.

Escalabilidad: La solución facilita el crecimiento futuro del sistema y reduce el impacto de cambios relacionados con nuevas categorías de pasajeros.

Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions