-
Notifications
You must be signed in to change notification settings - Fork 1
Description
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:
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.
