Я всегда думал, что термин MVC - это то же самое, что и n-слойное приложение - так что поправьте меня, если я ошибаюсь, ребята.
Когда я развиваюсь, я всегда (если не указано иное) использую следующую модель / конструкцию, также в приложениях:
GUI (Web, Winform, что угодно) ->
Бизнес логика ->
Уровень данных ->
А также с базовой "моделью"
... Что-то вроде MVC - так что да, это полезно и для настольных приложений. Основным преимуществом этого является то, что вы можете разрабатывать веб, win и мобильные (++) приложения на основе одного и того же кода.
Еще одна вещь, которую можно сделать, - это создать данные / бизнес-слои в качестве веб-сервисов ...
Я думаю, что этот подход будет квалифицирован как SOA.
EDIT:
Как примечание, четыре уровня приложений создаются как отдельные проекты - и затем используются в качестве добавления ссылки либо на проект, либо на библиотеку DLL, либо на GAC (или где вам угодно .....) :) Таким образом, необходимость в структуре каталогов не требуется.