Microsoft Web Client Software Factory - это инфраструктура, которая позволяет создавать приложения ASP.NET в виде набора слабосвязанных модулей. Он предоставляет инфраструктуру Model-View-Presenter и систему внедрения зависимостей на основе Microsoft Unity для динамической связи страниц, докладчиков и других служб. Это произведено группой Образцов и Практик Microsoft.

Фабрика программного обеспечения веб-клиента состоит из 3 основных элементов:

  1. Составной блок веб-приложений. Это набор библиотек, который, наряду с некоторыми блоками Enterprise Library, позволяет разрабатывать веб-приложения как набор слабо связанных модулей. Модули могут быть "базовыми модулями", которые предоставляют услуги другим модулям, или "бизнес-модулями", которые представляют собой наборы связанных веб-страниц, использующих шаблон Model-View-Presenter. Бизнес-модули также могут содержать сервисы, доступные для других модулей. WCSF находит сервисы, используя внедрение зависимостей.
  2. Веб-контроль. Наиболее известным из которых является ObjectContainerDataSource. Это элемент управления источником данных, специально созданный для использования с Model-View-Presenter. Он просто публикует и поднимает события CRUD. Ваше представление может затем передать данные о событиях в функции докладчика. Это в отличие от ObjectDataSource, который построен для непосредственного взаимодействия с некоторым бизнес-объектом / сущностью.
  3. Шаблоны и рецепты Visual Studio, которые автоматизируют добавление модулей и, при необходимости, модульные тесты.

Существуют и другие аспекты WCSF, которые помогают создавать разрозненные веб-приложения, но это основные отличительные особенности.

Много дополнительной информации доступно на основном сайте CodePlex: http://webclientguidance.codeplex.com/wikipage?title=Web%20Client%20Software%20Factory&referringTitle=Home. Примечание: эталонные реализации находятся в исходной загрузке

WCSF2010 и его предварительные требования, VS2010 SP1 SDK и Guidance Automation Toolkit 2010 (GAX2010), доступны через менеджер расширений в VS2010.