Может ли приложение быть разработано с использованием уровня представления в ASP.net и Windows Forms с общим кодом - PullRequest
1 голос
/ 11 августа 2011

Потребность: создать приложение, которое работает на локальном клиенте Windows и на веб-сайте.Они требуют симулированных интерфейсов, хотя клиентское приложение должно иметь очень богатый интерфейс.Приложение Window Forms и ASP.Net (MVC) являются предпочтительной технологией.

Действительно ли возможно (и стоит усилий) разделить бизнес-логику и хранилище данных между обоими приложениями?

Ответы [ 3 ]

2 голосов
/ 11 августа 2011

Вероятно, это будет не слишком практично для многих из двух пользовательских интерфейсов (если вы используете winforms и asp.net) без использования какой-либо ранее существующей инфраструктуры (я думаю, у devexpress есть такая, называемая XAF, которая позволяет вам строить x приложения на платформе, но я никогда не пробовал)

Однако есть много вещей, которыми вы можете поделиться в зависимости от вашего дизайна. Вы можете перенести большую часть своей функциональности на общий бизнес-уровень. Использование веб-сервисов - отличный способ сделать это, и к ним легко получить доступ из обоих приложений.

Это также абстрагирует весь ваш доступ к данным, так что вам нужно создать его только один раз. @djohnsonm правильно, что вы можете поделиться гораздо большим количеством кода между WPF и Silverlight. Однако, поскольку Silverlight доступен как в браузере, так и вне его, возможно, стоит подумать о создании версии Silverlight и ее развертывании в обеих средах. Будет ли это практичным, зависит от ваших целевых пользователей и среды.

1 голос
/ 11 августа 2011

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

0 голосов
/ 11 августа 2011

Я бы не стал использовать Windows Forms, если вы хотите создать RIA. Если вам действительно нужен богатый пользовательский интерфейс, я бы попробовал WPF или Silverlight (вы можете получить отличные эффекты, используя Expression Blend). Хотя вы можете просто создать похожие эффекты, используя jquery в приложении ASP.NET MVC 3. Это избавит от необходимости создавать два приложения с различной бизнес-логикой и хранилищем данных. В качестве лучшей практики я бы никогда не создал два одинаковых приложения на разных платформах. Это вдвое больше работы, и пародия 1: 1 не всегда может быть достигнута в отношении предоставления функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...