MVC.NET для рабочего стола - PullRequest
       10

MVC.NET для рабочего стола

7 голосов
/ 29 ноября 2008

Есть ли причина, по которой MVC не так полезен для настольных приложений, как для веб-приложений?

Что потребуется для того, чтобы дерево каталогов ASP.NET MVC могло быть реализовано в качестве настольного приложения?

Ответы [ 4 ]

3 голосов
/ 16 октября 2010
1 голос
/ 29 ноября 2008

Я всегда думал, что термин MVC - это то же самое, что и n-слойное приложение - так что поправьте меня, если я ошибаюсь, ребята.

Когда я развиваюсь, я всегда (если не указано иное) использую следующую модель / конструкцию, также в приложениях:

GUI (Web, Winform, что угодно) -> Бизнес логика -> Уровень данных -> А также с базовой "моделью"

... Что-то вроде MVC - так что да, это полезно и для настольных приложений. Основным преимуществом этого является то, что вы можете разрабатывать веб, win и мобильные (++) приложения на основе одного и того же кода.

Еще одна вещь, которую можно сделать, - это создать данные / бизнес-слои в качестве веб-сервисов ...

Я думаю, что этот подход будет квалифицирован как SOA.

EDIT: Как примечание, четыре уровня приложений создаются как отдельные проекты - и затем используются в качестве добавления ссылки либо на проект, либо на библиотеку DLL, либо на GAC (или где вам угодно .....) :) Таким образом, необходимость в структуре каталогов не требуется.

0 голосов
/ 16 октября 2010

Ничто не мешает вам использовать шаблон MVC в настольном приложении. Фактически, он использовался на рабочем столе еще до того, как появилась сеть.

См. Википедию для некоторых примеров

MVC просто означает «контроллер представления модели», который описывает способ разделения проблем друг с другом с помощью шаблона MVC.

Что касается использования ASP.NET MVC на рабочем столе, здесь есть несколько проблем. Во-первых, он опирается на HTTP-запросы и ответы. Вам потребуется серверный уровень как часть архитектуры вашего приложения для прослушивания запросов и отправки ответов. Во-вторых, представления ASP.NET MVC на самом деле представляют собой простые текстовые файлы HTML, предназначенные для интерпретации веб-браузером. Таким образом, вам потребуется компонент рендеринга HTML в качестве интерфейса GUI. Скорее всего, вам понадобится движок рендеринга CSS и интерпретатор JavaScript.

По сути, все, что вам нужно сделать, это запустить выделенный браузер в качестве внешнего интерфейса и локальный веб-сервер в качестве внутреннего.

На самом деле в этом нет особой необходимости, так как уже есть много отличных сред MVC. Есть также тесно связанные шаблоны, такие как MVP (Model View Presenter) и MVVM (Model-View-View Model). Например, многие приложения WPF (Windows Presentation Framework) являются MVVM.

0 голосов
/ 29 ноября 2008

Хммм ... ну, ваше представление может быть отображено как угодно ... HTML, XML и т. Д. Итак, почему не XAML? Интересно, можно ли заставить ваше приложение WPF или Silverlight работать в среде MVC таким образом ... то есть не требовать запуска веб-сервера.

...