Графические интерфейсы дают богатое взаимодействие, но управлять этой сложностью трудно — нужна продуманная архитектура. Паттерн Forms and Controls работает только для простых систем. Когда сложность растёт, все хватаются за Model-View-Controller (MVC). Беда в том, что MVC — один из самых недопонятых паттернов. Системы, которые называют себя MVC, сильно отличаются. Эти вариации часто описывают под другими именами: Application Model, Model-View-Presenter, Presentation Model, MVVM.
Лучше всего думать об MVC как о наборе принципов. Главные из них — отделение представления от доменной логики и синхронизация состояния через события (паттерн Observer). Это всё. Никакой жёсткой структуры, только общие правила.