Skip to content

Builder Proposal #1

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

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