Я пишу приложение WinForms и хочу иметь дизайн типа MVC. На самом деле это больше MVP или MVVM,
План состоит в том, чтобы иметь Центральный контроллер, который выполняет всю фактическую работу, чтобы формы просто отображали ViewModels и обрабатывали пользовательский ввод, но все, что на самом деле что-то делает, проходит через контроллер.
Мне просто интересно, если это хорошая идея, и где поставить контроллер? В настоящее время идея состоит в том, чтобы иметь статический класс, который инициализируется в Program.cs (отправка в некоторых зависимостях, таких как IMyDatabaseRepository), чтобы он оставался контроллером, который делегирует работу между пользовательским интерфейсом и моделью.
Как вы можете догадаться, я из Веб-фона и имею небольшой опыт работы с архитектурой WinForms. Ранее моей MainForm был класс Controller, содержащий все переменные состояния, что, очевидно, означает, что моя MainForm - это мое приложение, а не просто часть пользовательского интерфейса.