Как должна выглядеть архитектура (пакеты, классы) приложения, которые должны использовать шаблоны mvc, factory и observer?Java MVC, шаблоны Factory и Observer вместе
Проблемы о решении лабиринта, который может иметь два типа implementantions для Лабиринта (модели) интерфейс: один, который useses в двумерный массив (матрица), и тот, который использует разреженную матрицу (список, хранит только занятые ячейки).
View часть должна нести ответственность за описание текстового представления лабиринта. Он должен содержать методы: get/setLabyrinth, toString. У меня также должен быть интерфейс LabyrinthSolver, из которого я создам две реализации: интерактивную (с использованием клавиатуры) и автоматическую (алгоритм lee).
Интерфейс LabyrinthObserver описывает наблюдателя исследования лабиринта. Один наблюдатель будет печатать на экране информацию во время исследования. Один наблюдатель сохранит найденные поиском решения в структуре данных, отсортированной по длине решения.
Наконец, лабиринты (matrixImpl или sparseImpl) должны быть созданы с использованием фабрики .
У меня возникли проблемы при проектировании вида: Поскольку я могу хранить лабиринт двумя способами (двумерная матрица или как список занятых ячеек), как мне создать текстовое представление лабиринта, зная, как мой лабиринт будет храниться? Я имею в виду создание интерфейса с помощью метода
createTextRepresentation(? labyrinth)
Но какой тип должен быть мой параметр лабиринте? У меня есть эта проблема со всеми моими другими классами: решатель, наблюдатель? Как я могу использовать эти 3 шаблона вместе?
P.S .: Я не прошу о реальных реализациях этих классов, просто общая идея, как объединить их.
А для шаблона наблюдателя? У меня есть два наблюдателя: один, который печатает текстовое представление лабиринта после каждого хода игрока и тот, который будет хранить все решения. –