Creational patterns

  • Low binding factory pattern -> FileReaderFactory.kt
  • Builder pattern -> SudokuModelBuilder.kt
  • Singleton pattern (kind of) -> ViewManager.kt

Structural patterns

  • Composite pattern -> SudokuModel.kt, SudokuGroup.kt, SudokuCell.kt

Behavioral patterns

  • Visitor pattern -> SudokuModel.kt, SolveSudokuVisitor.kt
  • State pattern (kind of) -> SudokuCell.kt, CellState.kt, SudokuController.kt