Мы сейчас про какое MVC? их много разных. Из вашего вопроса например можно сделать вывод о двух вариантах.
Создать отдельный класс MainView, в котором будут храниться ссылки на все представления?
Это напоминает MVC 1979 года выпуска. В этом случае контроллеры занимаются только тем что обрабатывают пользовательский ввод. А всем что касается представления занимается собственно View. Вьюшка тут у нас активна, в ней есть куча логики и бывает так что этой логики даже больше чем в модели. В нашем примере это будет тот самый MainView который будет работать напрямую с моделью и забирать нужное состояние из нее и сама себя обновлять по изменениям (или ButtonView - зависит от того чему мы хотим дать представление. Описание MVC не делает никаких ограничений сколько у вас может быть этих штуковин на скрин).
Или хранить каждую ссылку отдельно в контроллере?
Это больше напоминает mediating controller MVC. Этот подход был придуман с целью убрать зависимость вьюшки от модели. По сути вьюшка становится пассивной. Теперь контроллер решает когда ее обновлять и как вообще ее рендрить.
Так что определитесь что вам нужно. Подозреваю что все же второе потому как первое никто не использует активно уже лет 20.