Skip to content

Sugerencia en LOTR - Beasts #4

@KevinJSalazar

Description

@KevinJSalazar

La clase Beasts viola el principio SOLID de Diseño Abierto/Cerrado. Su método estático newInstanceRandom crea nuevas instancias de subclases de Characters (como Orcs o Goblins) con un switch condicionado por un número aleatorio. Para agregar una nueva criatura, como "Elf", es necesario modificar Beasts, lo que implica que no está cerrada para modificaciones.

Para resolver la violación del principio SOLID de Diseño Abierto/Cerrado en la clase Beasts, se introdujo una interfaz llamada Creature que define un método createCreature para la creación de instancias de criaturas. Luego, en las subclases concretas de Beasts, como Orcs y Goblins, se implementó esta interfaz y se proporcionó una implementación específica para crear instancias de sus respectivas criaturas. La clase Beasts ahora utiliza una instancia de Creature en lugar de un switch para crear nuevas criaturas, lo que permite agregar nuevas criaturas sin modificar el código de Beasts, cumpliendo así con el principio SOLID de Diseño Abierto/Cerrado.

Sugerencia en LOTR - Beasts

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