Текущее разделение выглядит хорошо. Вот несколько указателей для реализации представления консоли:
- представляет действия контроллера независимо от интерфейса пользователя. Например, абстрактный
Action
класс. Затем представление вызывает действие в ответ на жесты пользовательского интерфейса. Это сохраняет контроллер независимым от реализации представления и позволяет одному и тому же контроллеру использоваться несколькими представлениями.
- добавить уведомления из модели изменений, чтобы синхронизировать просмотры.
В этом случае консольное представление может считывать стандартный ввод и записывать состояние в стандартный вывод, запрашивая модель, и вызывать функции, используя действия, предоставляемые контроллером.
Хорошим тестом MVC является создание двух представлений для одной и той же модели и контроллера - оба должны работать правильно и обновляться в зависимости от изменений другого.