Skip to content

Single Responsibility Principle (SRP) #3

Description

@JorgeAlvarez05

La solución propuesta consiste en dividir las responsabilidades actualmente concentradas en la clase BusTicketManagement en tres componentes especializados: TicketManagement, PassengerManagement y StatisticsManagement.

La clase TicketManagement se encarga exclusivamente de las operaciones relacionadas con la emisión y cancelación de tickets. La clase PassengerManagement centraliza las consultas y búsquedas de pasajeros, mientras que StatisticsManagement administra la generación de estadísticas del sistema. Por su parte, BusTicketManagement mantiene únicamente la coordinación general entre los diferentes componentes.

Como se muestra en el diagrama UML de la solución, cada clase posee una única responsabilidad claramente definida, reduciendo el acoplamiento y aumentando la cohesión del sistema.

Beneficios de la Propuesta

Responsabilidad Única: Cada clase tiene una única razón para cambiar, cumpliendo correctamente con el principio SRP.

Mayor Mantenibilidad: Los cambios en la gestión de tickets, pasajeros o estadísticas pueden realizarse de forma independiente sin afectar otras funcionalidades.

Menor Acoplamiento: Las responsabilidades quedan separadas en módulos especializados, facilitando la comprensión y evolución del sistema.

Mayor Reutilización: Los componentes pueden reutilizarse de manera independiente en futuras ampliaciones del proyecto.

Mejor Organización del Código: La estructura resultante es más clara, escalable y fácil de mantener por futuros desarrolladores.

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