Все текущие ответы хороши, но здесь есть одна очень важная вещь: у вас есть тег «Многопоточный», но никто еще не обратился к нему. Вы определенно хотите думать о «C» в MVC как о чем-то, что будет связано с многопоточностью, и, возможно, вы даже захотите следовать шаблону проектирования диспетчера через интерфейс диспетчера и, возможно, даже интерфейс просмотра - использование интерфейсов поможет расширить ваши возможности даже больше для будущего рефакторинга или даже редизайнов. В прошлом я использовал java.util.observer и java.util.observable - оригинальный шаблон MVC, когда-либо существовавший в Java:) - для решения проблем со связью. Только не забывайте блокировать ваш основной поток, иначе ваш графический интерфейс будет зависать. Да, MVC - хорошее начало, но в описанном выше приложении-> GUI есть нечто большее, чем просто MVC. Представьте, что весь GUI - это представление вашего приложения. Модель, скорее всего, будет неким набором данных (DataBase, flatfile). , информация о состоянии) и контроллер вашего приложения. Имейте в виду, что GUI, скорее всего, будет по крайней мере иметь интерфейс к нему.