Skip to content

Builder Proposal #1

@WolfZardST

Description

@WolfZardST

NOTE: This is for a Design Patterns Homework, feel free to ignore it. Thank you ^^

Builder:

Se observa que el constructor de la clase ProjectSudoku presenta unas dimensiones considerables. Se recomienda separar la construcción del Sudoku en métodos, siguiendo el patrón creacional Builder.

Justificaciones/Motivaciones:

Se pueden distinguir varias secciones en el constructor, por lo que la separación en métodos se vuelve en cierta medida intuitiva.

En el caso de que una tercera persona quiera modificar el Sudoku o agregarle funcionalidades, tendría que invertir tiempo solamente leyendo y distinguiendo las secciones del enorme constructor. Aparte, no contaría con la opción de contrastar fácilmente sus aportaciones con el Sudoku original, ya que se vería obligado a sustuir partes del constructor.

Diagrama de la Solución Propuesta:

BuilderSolution

Implicaciones/Mejorías:

Para hacer modificaciones al ProjectSudoku, bastaría con buscar la sección correspondiente a la modificación en la clase ProjectSudokuBuilder.

Ahora se permite la extensión a nuevos tipos de Sudokus mediante la creación de clases que implementen a la interfaz SudokuBuilder e incluso la definición de Directores que almacenen las distintas secuencias de pasos a seguir.

BuilderCode.zip

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