Как я уже говорил, фабрики позволяют нам разрабатывать приложение на несколько более высоком уровне благодаря тому, что дают возможность оперировать не просто классами, структурами и т.д, а бизнес-объектами нашего приложения. То, как именно должен выглядеть бизнес-объект для того, чтобы укладываться в рамки архитектуры, берет на себя "фабрика".
Например, уже существуют такие "фабрики", как Smart Client Software Factory, позволяющая легко и безо всякой рутины создавать приложения на основе CAB (Composite UI Application Block). С помощью этой "фабрики" мы оперируем сущностями CAB'а, такими, как "контроллер", "вью", "воркайтем" и т.д.
Существует (на мой взгляд менее удачная, но позволяющая значительно сократить время разработки) "фабрика" для создания слоя веб-сервисов, существуют и другие.
Теперь вот существует и Web Client Software Factory.
Хороших новостей несколько.
Во-первых, она опирается на Composite Web Application Block. Это, на мой взгляд, очень замечательная штука. Это, скажем так, CAB для ASP.NET (да, уважаемый Void, с ObjectBuilder'ом и т.д. и т.п. ;) ). Нет только EventBroker'а, да он там и не нужен.
Во-вторых, она опирается так же на Page Flow Application Block. Это не менее замечательная штука, позволяющая действительно (!) легко включать в веб-приложение Workflow Foundation. Это трудно переоценить, на мой взгляд.
В третьих, это все же "фабрика", так что, создавать приложение в рамках архитектуры этих двух блоков - что мышкой кликать, ниже я покажу.
В четвертых, все это дело (включая злополучный ObjectBuilder) замечательно документировано. Лично я документацию прочитал от первой строчки и до последней - написано четко, по делу, без воды, очень доходчиво: что, как, где, почему.
Словом, мне эта штука очень понравилась.
Несколько примеров в общем виде (быть может, если в голову взбредет, позже я напишу подробнее):
В контекстное меню solution'а "фабрика" добавит несколько новых пунктов. В частности, появится возможность добавлять модули в свое приложение (а где вы видели CAB без модулей?).

Можно добавить три типа модуля: Business Module, Foundation Module и Page Flow.
Business Module - это какая-то часть функциональности приложения. То есть, модуль в "чистом" его виде - есть модуль - есть функционал, нет модуля - нет функционала. Ну, например, можно сделать модуль с блогами, модуль с форумами, модуль с доской объявлений для сайта и т.д.
Foundation Module - это модули бизнес-логики. Там предполагается размещать различные сервисы (а где вы видели CAB без сервисов?), провайдеры и т.д. Например, можно сделать модуль, который содержит логику работы с данными. Поменялась база - стер старый модуль, добавил новый. Приложение продолжает работать.
Page Flow - ну, тут из названия все понятно. Здесь предлагается определять workflows наших походов по сайту. Ну, например, процесс выполнения заказа юзером. Сначала он попадает в свою корзину товаров, потом жмет "заказать" и попадает на форму ввода адреса и условий доставки, потом - страничка оплаты и в конце - поздравления. Или ошибки на каждом из шагов. Или что-то еще. Словом, все, что нам потребуется - это нарисовать state-диаграмму того, как в принципе могут осуществляться переходы и при каких условиях. Об остальном позаботится Workflow Foundation со всеми его плюсами.
Да, при создании каждого модуля, с программиста будет спрошено название а так же не хочет ли он создать проект для юнит-тестов модуля или посмотреть документацию. Очень удобно.
Впрочем, в контекстном меню веб-сайта тоже прибыло. Там появился пунктик "Web Client Factory -> Add view (with presenter)". Клик по нему "родит" окошко в виде:
"Фабрика" учтиво спросит, какое именно "View" нужно создать, к какому модулю оно относится и где будет размещаться.
На картинке видно, что создан будет и сам "View", и его интерфейс (IView1 в моем случае), и его Presenter (View1Presenter).
Связь между View и Presenter'ом тоже будет установлена автоматически. Если не полениться и зайти в code behind самой вьюшки, то это будет видно.
Собственно, вот таким вот нехитрым способом я уже создал вполне себе работающую болванку приложения. Сколько у меня ушло времени? Несколько минут?
Если эту болванку сейчас запустить - то там даже кое-какая навигация будет (о том почему она будет и откуда берется - может быть позже, но забегая вперед скажу: Composite Web Application Block + Factory - это вам не только мышкой тыкать да страницы создавать. Это еще и обильная функциональность, сдобренная набором сервисов).
В моем случае мне останется только накидать контролов во вьюшку да реализовать логику ее работы.
О том, как, почему и где - в другой раз. Может быть.