`
isiqi
  • 浏览: 16365203 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Web Client Software Factory系列(1):初识与预备知识 - TerryLee's Tech Space - 博客园

阅读更多

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客户端软件工厂资产图如下:

TerryLee_WCSF

安装Web Client Software Factory

安装Web客户端软件工厂需要有如下几个必备的条件

安装Guidance Automation Extensions

安装Guidance Automation Toolkit

安装.NET Framework 3.0 and Windows Workflow Foundation

安装Web Client Software Factory,官方站点:http://www.codeplex.com/websf

使用Web Client Software Factory

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

TerryLee_WCSF

创建Web客户端解决方案

安装完Web客户端软件工厂后,会在 Visual Studio 2005 中发现称为“Web 客户端解决方案”的新项目模板,列在指导包项目类型的下面,如下图所示:

TerryLee_WCSF03

创建完成后的解决方案结构如下:

TerryLee_WCSF04

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

Web客户端软件工厂创建的解决方案,自带了默认的起始页面,运行上面的程序后,可以看到如下界面:

TerryLee_WCSF05

相关的问题

要提示一点的是,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 &amp;&amp; item == null)
return default(TItem);
return DoTearDown<titem>(locator, item);
}</titem></titem>

结束语

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

作者:TerryLee
出处:http://terrylee.cnblogs.com

Web Client Software Factory系列(1):初识与预备知识 - TerryLee's Tech Space - 博客园

分享到:
评论

相关推荐

    Silverlight入门教程.pdf

    ### Silverlight入门教程知识点概述 #### 一、Silverlight简介 - **定义**:Silverlight是微软推出的一款用于创建和部署跨浏览器、跨平台的丰富互联网应用程序(RIA)的技术。 - **特点**: - 跨平台兼容性:支持...

    TerryLee_李会军_ASP.NET AJAX系列

    在"ASP.NET AJAX系列"中,TerryLee_李会军将深入讲解这一技术的各个方面。 【ScriptManager控件详解】 在ASP.NET AJAX中,ScriptManager控件是核心组件之一,它是实现页面AJAX功能的基础。ScriptManager负责管理...

    TerryLee_李会军_ASP.NET AJAX入门系列(1):概述 .rar

    在李会军的"ASP.NET AJAX入门系列(1):概述"中,我们将探讨这一技术的基本概念、核心组件以及如何开始构建一个基本的ASP.NET AJAX应用程序。 一、ASP.NET AJAX概述 ASP.NET AJAX并不是JavaScript和XML的直接结合...

    (21-32)一步一步学习silverlight2 beta1打包(TerryLee)

    以下是关于Silverlight 2 Beta 1打包的关键知识点: 1. **Silverlight简介**:Silverlight是Microsoft推出的一种插件技术,用于在Web浏览器中提供多媒体和交互式用户体验。Silverlight 2 Beta 1是该技术的一个早期...

    (1-20)一步一步学习silverlight2 beta1打包(TerryLee)

    TerryLee大侠的一步一步学习silverlight2 beta1教程打包,从他的blog上弄下来的,方便学习,有兴趣学习sliverlight的可以下载,注意这个教程是基于beta1版本的,和beta2以及即将发布的正式版差别较大,不过还是很好的一个...

    TerryLee的一步一步学Silverlight2电子书

    《TerryLee的一步一步学Silverlight2电子书》是一本专为初学者设计的Silverlight技术教程,由知名博主TerryLee精心整理而成。这本书详细介绍了Microsoft Silverlight 2这一跨浏览器、跨平台的交互式应用程序开发框架...

    ASP.NET AJAX入门系列

    这个入门系列教程由TerryLee's Tech Space提供,通过一系列文章和实例,帮助初学者掌握ASP.NET AJAX的核心概念和使用方法。 1. **ScriptManager控件**: ASP.NET AJAX的核心组件之一就是ScriptManager控件,它负责...

    ASP.NET AJAX

    ajax技术,无刷新技术 导读:ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持...

    wpf,wpf之家,c#,.net学习网站大全

    ### WPF、C#、.NET 学习资源汇总与解析 #### WPF(Windows Presentation Foundation) WPF是微软推出的一种用于构建Windows客户端应用程序的技术框架,它提供了丰富的工具集来创建高质量的用户界面。以下是一些...

    一步一步学习Silverlight之基础知识篇

    【Silverlight基础知识篇】 Silverlight是由Microsoft开发的一种富互联网应用程序(RIA)平台,它主要用于创建交互式的、多媒体丰富的网络应用。Silverlight 2 Beta 1的发布带来了许多新特性和改进,增强了其作为...

    CodeSmith开发资料.pdf

    知识点七:CodeSmith与其他工具的交互 CodeSmith可以与CodeSmith Explorer这样的集成开发环境(IDE)插件配合使用,从而为模板的创建、管理和调试提供更为便捷的环境。此外,CodeSmith还支持在Visual Studio中直接...

    castle讲解.CHM

    来自TerryLee\'s Tech Space 博客, 本人只是打包,方便收藏,没有侵权的意思,所以不扣点数。 原作者地址:http://www.cnblogs.com/Terrylee/

    抽象工厂模式 源代码

    抽象工厂模式(Abstract Factory) ——探索设计模式系列之三 Terrylee,2005年12月12日 概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建...

    总结的wpf学习资源集合,希望对大家有用。

    此外,列表中还包括了各种与编程相关的综合网站、教程、论坛和资源,如**中国站长站**、**IT人**、**天新网文摘**、**WEB开发教程**、**报表工具的专业网站**、**VB专题站点**等,它们提供了广泛的学习材料和社区...

    SL图文教程silverlight网页游戏开发教程

    压缩包中的文件名称列表显示了一系列逐步学习的文章,由TerryLee's Tech Space博客提供。这些文章深入浅出地讲解了Silverlight的各种技术点: 1. **图形图像综合实例—实现水中倒影效果**:这部分内容将教授如何...

    Castle 开发系列文章

    Castle是针对.NET平台的一个开源项目,从数据...4月份以来,Terrylee写了一系列的Castle的文章,这里做一下总结,后续还有Facility系列等,本部分内容会不断的更新。 这个文件是我自己一点点整理的,希望大家喜欢。

    Petshop5.0详解文档+Petshop5.0源代码

    Last edited Jan 10 2008 at 11:54 PM by TerryLee, version 7 简介 基于.NET Framework 3.5的Petshop,使用LINQ to SQL改进数据访问层,使用WCF来提供RSS,并在UI层上做一些改进,如使用ASP.NET AJAX,ListView...

Global site tag (gtag.js) - Google Analytics