бизнес-логикой и хранилищем данных можно без каких-либо проблем поделиться, если они правильно закодированы и не зависят от более высоких компонентов (веб или winforms), где код будет немного отличаться, находится на уровне представленияКонечно, с одной стороны у вас будет форма окна, с другой html, так что это совсем другое, тогда слой, отвечающий за реагирование на события, на MVC у вас будут ваши контроллеры, на WinForms я бы порекомендовал использовать шаблон MVP,это работает довольно хорошо, но тогда запись в представления там немного отличается, в MVC вы заполняете модель представления (по одной на страницу) и передаете ее в представление, в MVP у вас есть IView, и вы пишете в него,Вероятно, в IView будет гораздо больше материала (и вы упомянули, что у клиентского приложения будет очень богатый интерфейс), чем у модели представления, поэтому они не совсем совместимы, но кроме уровня представления и инфраструктуры, вашего бизнеса и DALдолжен быть многоразовым, и тот факт, что они есть, скажет вамТы хорошо их закодировал; не пишите никакой логики на ваших докладчиках или контроллерах , хитрость проста: если вам нужно выполнить действия на внешнем интерфейсе на основе некоторой бизнес-логики, выберите интерфейс и используйте его на своем бизнес-уровне дляобщаться