На самом деле вы можете взглянуть на шаблон MVVM, который широко используется в мире WPF. Поскольку обе платформы находятся в клиентской среде .NET, вы можете адаптировать некоторые классы WPF для своих целей, например, интерфейс ICommand
. Хотя WPF в значительной степени зависит от привязки данных, некоторые методы также могут быть использованы в WinForms. Например, привязки данных к классам, которые реализуют интерфейс INotifyPropertyChanged
, являются обычной практикой для моделей представлений WPF, а также работают в WinForms. В WPF вы можете привязать кнопки к ICommand
свойствам модели представления, где в WinForms вы сначала назначаете обработчик событий кнопке, а затем вызываете реализацию ICommand
. Таким образом, вы можете многое сделать, чтобы структурировать свое приложение и сделать его легко переносимым на WPF.
Это также имеет то преимущество, что у вас уже есть четкое разделение между представлением и бизнес-логикой. Модели представления действительно отлично работают с WPF, но это не значит, что их нельзя использовать и в других средах.