Web Client Software Factory系列(1):初识与预备知识

简介:

什么是Software Factory

由微软模式与实践小组开发的软件工厂,并非是一些公有的组件,可以直接引入项目使用,它所要解决的问题是提供用特定技术开发应用程序时使用的工具、方法、模式等的整个集合,旨在为如何在企业环境中最好地使用特定技术提供指南,每个软件工厂包含如下部分:
  1. 应用程序块和库 — 软件的实际部分,基于顶级目标技术构建,旨在提供预构建的遵守建议的最佳实践的基础结构。
  2. 指导包方案和模板 — Visual Studio 的典型插件,用于生成初始解决方案模板和/或使用建议的最佳实践构建的功能扩展现有项目。这些插件的大部分实现依赖于应用程序块和库。
  3. 设计器 — Visual Studio 的附加设计器支持,用于部分应用程序。
  4. 引用实现 — 使用软件工厂的所有其他资产进行的稍微实际些的应用程序的完整执行。
  5. 体系结构指导和模式 — 有关软件工厂使用的模式和最佳实践选择的综合文档。
  6. 操作方法主题 — 如何使用软件工厂的各部分的详细分步指导(或仅是有关如何以软件工厂建议的方式使用特定技术的指导)。
模式与实践小组提供的软件工厂有:
Web Client Software Factory
Web Service Software Factory
Smart Client Software Factory
Mobile Client Software Factory
……

什么是Web Client Software Factory

Web客户端软件工厂提供了一个工具集,用于指导许多开发人员使用ASP.NET同时协作构建大型ASP.NET应用程序任务,在Web客户端软件工厂中提供了:
  1. 应用程序块和库 — 包含了Composite Web应用程序块, Page Flow应用程序块, ObjectContainerDataSourceControl,并且使用Enterprise Library进行权限管理、异常处理、日志记录和数据访问。
  2. 指导包方案和模板 — 提供了一系列的模板包括Solution模板,Business Module模板, Foundational Module模板, Page Flow模板
  3. 设计器 — 包含了Page Flow设计器
  4. 体系结构指导与模式 — 如View-Presenter ,Application Controller ,Service Locator ,Dependency Injection 等
  5. 引用实现 — 提供了一个全球银行公司的e-Banking引用实现
  6. ……
Web客户端软件工厂资产图如下:
 

安装Web Client Software Factory

安装Web客户端软件工厂需要有如下几个必备的条件
安装Guidance Automation Extensions
安装Guidance Automation Toolkit
安装.NET Framework 3.0 and Windows Workflow Foundation
安装Web Client Software Factory,官方站点: [url]http://www.codeplex.com/websf[/url]

使用Web Client Software Factory

使用Web Client Software Factory时可以按照帮助文档提供的流程进行:

 

创建Web客户端解决方案

安装完Web客户端软件工厂后,会在 Visual Studio 2005 中发现称为“Web 客户端解决方案”的新项目模板,列在指导包项目类型的下面,如下图所示:
 
创建完成后的解决方案结构如下:
 
可以看到,使用Web客户端软件工厂指导包创建的解决方案被分成了两个部分,一是Modeles目录下的Shell项目,一是WebSites下的名为DevelopmentWebSite网站,实际上,Web客户端软件工厂的目标是创建多个协同工作的独立模块以定义一个网站,因此这些项目只是您要添加到应用程序的多个项目中的前两个项目。该解决方案的常规布局是为站点的每个部分创建一个独立的模块(类库项目)。每个模块将独立兼容并且在主网站目录中将具有独立的页面和源代码文件的目录。此项目布局的目标是使多个开发人员可以独立处理站点的不同部分,而不会相互干涉,并且能够通过将新库和刷新的页面目录传送到部署服务器来独立部署模块,而无需同时重新部署所有模块。同时可以看到,为了整合一个站点下的多个模块,它在 /Shared 子目录下定义一个顶层母版页 Default.master,模块创建的页面将默认使用此母版页。
Web客户端软件工厂创建的解决方案,自带了默认的起始页面,运行上面的程序后,可以看到如下界面:
 

相关的问题

要提示一点的是,WCSF现在还不支持Visual Stuido 2008。并且如果你的机器上安装了Visual Studio 2008 Beta2版本的话,在运行由WCSF创建的Web应用程序时将会报错。可以下载附件中的文件,覆盖<安装目录>\\Microsoft Web Client Factory\Microsoft Practices Library下的文件,或者自行打开WCSF源代码,找到WCSFExtensions下的WCSFBuilderBase.cs文件中,修改方法TearDown:
public TItem TearDown<TItem>(IReadWriteLocator locator, TItem item)
{
if (typeof(TItem).IsValueType == false && item == null)
return default(TItem);
return DoTearDown<TItem>(locator, item);
}

结束语

Web 客户端软件工厂为尝试管理使用 ASP.NET 构建的大型网站的开发人员提供了引人注目的解决方案。此软件工厂支持创建与站点中的各个子目录相关联的模块,并为模式(如 View-Presenter 和 Application Controller)提供了一个可支持以模块化方式启用网站的独立开发、测试和部署的框架。值得我们认真去研究,后续的文章将会更详细的讲述Composite Web应用程序块、View-Presenter模式等。
附件: /Files/Terrylee/CompositeWeb.rar














本文转自lihuijun51CTO博客,原文链接:http://blog.51cto.com/terrylee/67736  ,如需转载请自行联系原作者
相关文章
|
9月前
|
缓存 自然语言处理 物联网
LLama Factory+ModelScope实战——使用 Web UI 进行监督微调
LLaMA Factory 是一个高效的大语言模型训练和推理框架,它通过提供一站式的 Web UI 界面和集成多种训练方法,简化了大模型的微调过程,并能够适配多种开源模型。
|
4月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
285 3
|
3月前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
168 62
|
2月前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
3月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
296 45

热门文章

最新文章