服务站: Web服务软件工厂2011-12-29 MSDN Aaron Skonnard作为架构师和开发人员,我们始终希望确信我们是在以正确的方法解决问题。因此,在开发人员领域,始终需要正确的指导。通常,此类指导来自开发人员社区,开发人员通过这个社区彼此分享经验,相互学习。但是,现在有许多新技术不断涌现,社区成员彼此可以交流的经验常常是微乎其微。因此,软件供应商提供有价值的指导也就显得愈加重要。毕竟,这些工具和技术是这些供应商设计和开发的,他们应该有好的建议教大家如何正确使用这些工具。指导的形式多种多样,但大致可以分为两种类型:书面指导和代码为主的指导。书面指导是最常见的类型。它包括体系结构概述和白皮书、模式和做法的一般性指南(通常不涉及具体技术),以及以入门讲解和说明“如何”实现的形式专门针对具体技术的指导。另一方面,代码为主的指导采用源代码的形式。它可以是示例代码,也可能是展示众多模式如何构成一个实际解决方案的完整的参考实现方法。代码为主的指导可以是可重用的库,也可以是自动化代码方案。代码方案可以使特定的开发任务自动化,通常使用设计器或向导从开发人员处收集对代码进行自定义的信息。为帮助开发人员,Microsoft 的模式和做法 (p&p) 团队与产品组一起合作,针对各种技术编写了 Microsoft 官方指导。p&p 团队发布了上述所有形式的指导,包括被称为应用程序块的复杂的参考应用程序和代码库,例如 Enterprise Library for the Microsoft® .NET Framework 2.0(Microsoft® .NET Framework 2.0 企业库)。关于软件工厂p&p 团队最近开始发布软件工厂,它们采用更注重整体方法提供指导。这些软件工厂是指导资产工具、可重用的代码、文档、参考实施方法等类似内容的集合。它们有助于根据公认的模式和预定义的标准实现软件生成过程的自动化。一般而言,安装软件工厂的目的是扩展您的开发环境,增加与指导有关的工具和资源。例如,软件工厂可能包括一些解决方案模板,借助它们,可以更轻松地开始一个新的应用程序。此外,软件工厂还可能提供在整个开发周期都能使用的向导和设计器。软件工厂加强了架构师和开发人员之间的关系。架构师可以自定义各种通过某软件工厂提供的代码方案,然后,再将自定义好的软件工厂应用于开发团队。这为架构师提供了一种实用的机制来将他们自己的指导分发给开发人员。软件工厂的一个主要方面是支持自动化工具。尽管 Visual Studio® 已通过 Visual Studio 行业伙伴 (VSIP) 计划得到了很大的扩展,但该框架还远远谈不上易于使用。因此,p&p 团队开发了 Guidance Automation eXtensions (GAX) 和 Guidance Automation Toolkit (GAT),以便架构师可以更轻松地将自定义指导应用于 Visual Studio 的使用过程。GAX 是在 VSIP 基础上构建的运行库,用于通过指导包对 Visual Studio 进行扩展。而 GAT 是一个工具包,用于部署在 Visual Studio 内的 GAX 上运行的指导包。如果要使用现有的指导包,例如软件工厂中找到的指导包,则必须安装 GAX。另一方面,仅当要构建指导包时才需要 GAT。(重要事项:任何人都可以使用 GAT 创建新的指导包。您甚至可以从一个现有的软件工厂着手,将其指导包自定义,然后重新生成它们。)有关 GAT 的详细信息,请参阅“指导自动化工具包简介”。