Легко сказать, я знаю, но если вы хорошо реализуете свой уровень доступа к данным и бизнес-объекты, можно повторно использовать значительную часть вашего кода.
Мы используем ASP.NET MVC. У нас есть отдельный проект, в котором есть наши бизнес-объекты и уровень доступа к данным. Наши «модели» в веб-проекте - это, как правило, легкие оболочки для наших бизнес-объектов.
Все наши методы контроллеров довольно легковесны, поскольку между уровнем доступа к данным и нашими бизнес-объектами мы инкапсулировали и упростили большую часть нашей бизнес-логики, представленной их потребителям.
После того, как мы создали наше приложение MVC, мы хотели использовать некоторые из наших данных в приложении WPF (для экрана отображения состояния). Мы только что создали новый проект, сослались на наш слой доступа к данным и модель данных, и мы были в отъезде. Действительно просто и много повторного использования кода.