Шаблон проектирования для Winform .NET для ASP.NET проект

#.net #asp.net #winforms #design-patterns #datasource

#.net #asp.net #winforms #шаблоны проектирования #источник данных

Вопрос:

Какой в настоящее время наиболее широко используемый и принятый шаблон проектирования для разработки .СЕТЕВЫЕ приложения с пользовательским интерфейсом Windows и Web?

Примером этого может быть приложение, которое извлекает данные из стороннего источника (такого как RSS-канал) со следующими пользовательскими интерфейсами:

  • Пользовательский интерфейс WinForms, который локально кэширует некоторые данные (xml)
  • ASP.NET Веб-интерфейс, который кэширует данные на сервере (SQL)

Я думаю о MVC, MVP или MVVM. Я ищу современный шаблон, который использует или применяется к конкретным функциям .NET (таким как привязка данных, LINQ и IProviders).

Комментарии:

1. Если вы используете MVC, посмотрите на ASP.NET MVC вместо ASP.NET

2. Я знаю ASP.NET имеет встроенный фреймворк MVC, я просто думал, что MVC применим только к веб-приложениям.

3. ASP.NET MVC — это платформа, отличная от ASP.NET шаблон MVC применим к веб-формам, но для него нет фреймворка.

Ответ №1:

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

Комментарии:

1. Я знаю ASP.NET имеет встроенную платформу MVC, но нет встроенного MVC для WinForms. Я подумал, что это может быть связано с тем, что он не подходит для WinForms, так как для некоторых форм может потребоваться несколько просмотров.

2. Другими словами — разве MVC не является чисто шаблоном веб-дизайна?

Ответ №2:

MVC или MVP будут работать хорошо, не слишком уверен, что MVVM работает в Интернете (кто-нибудь может уточнить)?

Вам понадобится уровень сервиса, чтобы вы могли совместно использовать бизнес-логику и уровни данных.

Подробнее о сервисном уровне:

http://martinfowler.com/eaaCatalog/serviceLayer.html

Надеюсь, это поможет.

Комментарии:

1. Я склоняюсь к использованию MVP в качестве шаблона уровня презентации как для веб-клиента, так и для клиента Windows.