Модель Document / View MFC - это недоделанная попытка MVC.Если вы думаете об использовании MFC, то вы можете использовать производный от CView класс для представления представления (дух!) И производный от CDocument класс для представления модели.К сожалению, MFC на самом деле не пытается отделить функциональность контроллера от модели или представления.
В приложении SDI Doc / View управляемый событиями характер Windows GUI позволяет соблазнительно легко отобразить некоторые функции контроллера в представлении - и большая часть сгенерированного мастером кода в MFC делает это.
В приложении MDI для каждой модели существует несколько представлений, и совершенно очевидно, что любое из них является контроллером, поэтому возникает соблазн поместить логику контроллера в класс документа или в окно фрейма.... но нетрудно добавить новый класс в качестве контроллера и использовать его для переноса логики домена.Вставить этот класс в MFC - это небольшая борьба, и большинство людей, похоже, не беспокоятся.Самый простой подход состоит в том, чтобы просто рассматривать Документ как модель и контроллер, объединенные в одно целое.
Это для MFC (который, несмотря на многие недостатки), по-прежнему является одной из наиболее продуктивных сред для написания приложений с графическим интерфейсом только для окон вC ++.Если вы не заботитесь о MFC или если вам нужна платформа, которая может поддерживать несколько платформ, возможно, у вас уже есть лучшая поддержка MVC - см., Например, эту статью о поддержке MVC в Qt.