Собственно, model - описание модели. Имеет методы, через которые получает команды от контроллера и методы, которые передают нужную информацию для отрисовки.
Controller - ловит нажатия клавиш/мышь и срабатывания таймера, и изменяет состояние модели
View - с помощью геторов модели получает нужную информацию и рисует.
В main() создается экземпляр модели; главное окно, перехватывающее нажатия клавиш и мышь; создается таймер.
main() подключает к себе контроллер, отображение и автоматически саму модель. для контроллера и отображения он передает указатели на данные.
Широкие стрелки - от того ЧТО подключается, к тому К ЧЕМУ подключается.
Модель адекватна?