Когда я узнал о новой инфраструктуре MVC, мне пришло в голову то, что WebForms, я думаю, была попыткой MVC во многих отношениях. Разметка и выделенный код включают View и Controller, и вам остается написать свою собственную модель.
Эта идея неразрывно связана с важными конструктивными соображениями, которые я получил, узнав о MVC. Наиболее важным из них является укрепление основного домена вашей системы в целом и обеспечение определения всей общей логики на уровне, который можно повторно использовать в этом домене. Это ваша модель, и мне нравится называть логику, которая живет на этом уровне доменной логикой (я знаю, что я смешиваю термины). Ваша модель должна быть многократно использована в различных приложениях (основное приложение web / winforms, приложения winforms для утилит и конфигурации, сервисы фоновой обработки, веб-сервисы и т. Д.). Ваши приложения должны строго соответствовать своему назначению: они состоят из логики представления (их представления) и логики приложения (их контроллеры). Все, что пересекает линию необходимости использования в других приложениях, легко классифицируется как логика домена и не должно быть частью кода приложения для любого конкретного приложения.
Надеюсь, это имеет смысл.
Суть этого в том, что даже если вы не используете чистый MVC-фреймворк или объектную модель или что-то еще, этот высокоуровневый взгляд на дизайн можно применить с большим эффектом. Изолируйте общую логику на уровне домена, который можно многократно использовать в разных приложениях, и ваши приложения будут намного проще писать, расширять и поддерживать.