LIVE

导航

enterprise library

enterprise library
开放分类: 微软、模式与实践、patterns & practices

目标

Enterprise Library 是一个为了由创建复杂企业级应用的开发人员使用的应用程序块的集合。这些应用通常部署广泛且与其他应用和系统相互依赖。另外,他们通常有严格的安全、可靠性和性能需求。

Enterprise Library 的目标如下:
一致性。所有应用程序块都有一致的设计模式和实现方法。
扩展性。所有应用程序块都定义了扩展点,这些扩展点允许开发人员添加自己的代码来定制应用程序块的行为。
易于使用。Enterprise Library 提供了许多易用性的改进,包括图形配置工具,简单的安装过程,以及清晰且更加完整的文档和示例。
集成。Enterprise Library 被设计为在一起很好的工作,并经过测试确认它们可以做到。当然,单独使用应用程序块也是可以的。

优点
应用程序块帮助解决开发人员所面对的从一个项目到下一个项目中的普通问题。它们被设计成对 Microsoft 推荐的用于 .NET 应用程序的最佳实践的封装。也可以很快且容易的添加到.NET应用程序中。例如,数据访问应用程序块提供了对最常使用的 ADO.NET 特征的访问,通过易用的类来暴露它们。在某些情况下,应用程序块也加入了不直接受基本类库支持的功能。

读者需求

此指南面向的是软件架构和软件开发人员。为了从此指南中获取最大的收益,你需要理解下列知识:
Microsoft Visual C# 或 Microsoft Visual Basic .NET
Microsoft .NET Framework

系统要求

使用 Enterprise Library 开发应用程序,你需要下列系统:
Microsoft Windows XP Professional, Windows Server 2003, 或 Windows Vista operating system
Microsoft .NET Framework 2.0 或 3.0。下列模块需要 .NET Framework 3.0 :
应用程序块软件工厂
验证应用程序块 Windows Communication Foundation (WCF) 适配器
异常处理应用程序块 Windows Communication Foundation (WCF) 异常防护功能
Microsoft Visual Studio 2005 开发系统(下列任何版本):
Microsoft Visual Studio 2005 Standard Edition
Microsoft Visual Studio 2005 Professional Edition
Microsoft Visual Studio 2005 Team Edition for Software Developers
Microsoft Visual Studio 2005 Team Edition for Software Testers
Microsoft Visual Studio 2005 Team Edition for Software Architects
Microsoft Visual Studio 2005 Team Suite
需要注意的是,Enterprise Library 包含了单元测试的二进制和源代码,需要 Visual Studio 2005 Team Edition 或 NUnit 2.2 之一来运行单元测试。对于如何使用单元测试的使用说明,请参见单元测试。如果修改了单元测试的源码,就需要重新编译,同样这也需要 Visual Studio 2005 Team Edition 或 NUnit 2.2。
要使用应用程序块软件工厂和强名称指导包,需要 Microsoft Guidance Automation Extensions (GAX) 。要修改和编译这些指导包,需要 Microsoft Guidance Automation Toolkit (GAT)。
要使用数据访问应用块,需要一个运行受 .NET Framework 2.0 数据提供程序支持的数据库的数据库服务器。这包括 SQL Server 2000 或更新、SQL Server 2005 Compact Edition、Oracle 9i 或更新。数据库服务器也可以运行受用于 OLE DB 或 ODBC 的 .NET Framework 2.0 数据提供程序支持的数据库。

Enterprise Library 3.1(截止2008年6月的最新版本为3.1,4.0正在开发中) 发行包含下列程序块:
缓存应用程序块。开发人员可以使用这个应用程序块向应用程序中加入本地缓存。
密码应用程序块。开发人员可以使用这个应用程序块向应用程序中加入哈希和对称加密。
数据访问应用程序块。开发人员可以使用这个应用程序块向应用程序中加入标准数据库功能。
异常处理应用程序块。开发人员和决策者可以使用这个应用程序块创建一个处理发生穿过企业应用架构层异常的固定策略。
日志应用程序块。开发人员可以使用这个应用程序块在应用程序中包含标准的日志功能。
安全应用程序块。开发人员可以使用这个应用程序块向应用程序中加入授权和安全缓存功能。
验证应用程序块。开发人员可以用这个应用程序块为业务对象创建验证规则,这些规则跨越应用程序不同层。
策略注入应用程序块。开发人员可以使用这个应用程序块实现拦截策略,这用于使普通特征的实现更简单而有效,例如跨越一个应用的日志、缓存、异常处理和验证。
Enterprise Library 还包括一个核心功能集,包括配置、度量、对象构建服务。这些功能被所有应用程序块所使用。

 

Enterprise Library 4.0 - May 2008下载地址
2008-08-01 10:14

FROM: http://www.infoq.com/cn/news/2008/06/enterprise-library-4

微软发布了支持Visual Studio 2008的新版本Enterprise Library 4.0,同时也发布了他们的依赖注入容器Unity应用程序块的1.1版本。

模式与实践团队的产品经理Grigori Melnik宣布发布Enterprise Library 4.0Unity 1.1更新,详细描述了所有新特性。

MSDN开发中心的新闻稿解释了这个版本对开发人员的意义:

此次发布的Enterprise Library包括了一个应用程序块(参见Unity 应用程序块)。Unity是一个轻量级,可扩展的依赖注入容器,支持构造函数,属性和方法调用注入。你可以单独使用Unity应用程序块的依赖注入机制而不需要安装Enterprise Library。不过,此次发布的Enterprise Library集成了Unity,提供了一种新的方式创建Enterprise Library对象。

几个现有的应用程序块的功能上也有改进。下面章节讨论在这个版本中的变化。此外本次发布的版本支持Visual Studio 2008,Windows管理规范(WMI)2.0版和微软.NET Framework 3.5。

Enterprise Library 4.0

Enterprise Library 4.0版本包含以下应用程序块:

  • Caching Application Block . 开发人员可以使用这个程序块在应用程序中应用缓存. 支持可插拔的缓存提供者(Provider)。
  • Cryptography Application Block . 开发人员可以把这个应用程序块在应用程序中应用散列和对称加密。
  • Data Access Application Block . 开发人员可以把这个应用程序块作为应用程序的标准的数据库访问功能。
  • Exception Handling Application Block . 开发人员和决策者可以使用这个应用程序块为企业应用程序各层异常处理制定一致的策略。
  • Logging Application Block . 开发人员可以使用这个应用程序块为他们的应用程序提供日志记录功能。
  • Policy Injection Application Block . 开发人员可以使用这个应用程序块在应用中提供拦截策略,可以用它来简化整个系统的通用功能的实现,例如日志记录,缓存,异常处理以及验证。
  • Security Application Block . 开发人员可以用这个应用程序块为他们的应用程序提供授权和安全的缓存功能。
  • Unity Application Block . 开发人员可以使用这个应用程序块作为一个轻量级和可扩展的依赖注入容器,支持构造函数,属性和方法调用注入。
  • Validation Application Block . 开发人员可以使用个应用程序块为他们的应用层的业务对象创建验证规则,可以在应用程序的各个层里面使用。

Enterprise Library 4.0有什么新特性?

  • 集成Unity应用程序块
  • 支持Windows管理规范(WMI)2.0和改进性能计数器
  • 性能提升(特别是在日志记录应用程序块)
  • 可插拔的缓存管理
  • 支持Visual Studio 2008
  • Bug修复

目前已发布的所有应用程序块的快速入门:

Enterprise Library 4.0可以从模式与实践开发者中心下载。

Unity 1.1

Unity是一个集成Enterprise Library的依赖注入容器,但是不依赖于Enterprise Library:

Unity是一个轻量级,可扩展的依赖注入容器,支持构造函数,属性和方法调用注入。你可以使用Unity和企业类库来生成Enterprise Library对象和你自己的自定义业务对象。 但是Unity应用程序块和Enterprise Library所包含的其他几个应用程序块在几个方面是不一样的:

  • 你可以单独使用Unity应用程序块的依赖注入机制而不需要安装Enterprise Library。
  • Unity应用程序块可以通过配置文件来配置容器,但也支持通过代码在运行时动态注册依赖关系。
  • Unity应用程序块不依赖于Enterprise Library的核心和Enterprise Library的配置系统。它有自己内建的机制来读取配置信息,虽然配置也可以来自Enterprise Library的配置文件。

Unity 1.1有什么新特性?

  • 清理了所有过时的ObjectBuilder代码。
  • 修复bug:在生命周期管理器中使用泛型类型。
  • 修复bug:RigisterType覆盖了RegisterInstance。
  • 提升了解析单件对象的性能。
  • 公开了一些内部类,更容易编写类型的扩展(那些自定义的如何解析依赖对象)。
  • 改进了值解析失败时的出错信息。

本次发布还没有实现的特性?

  • 拦截机制还没有实现,这是Unity最高优先级的需求。
  • 如果需要AOP功能,依旧可以使用策略注入应用程序块。
  • 没有提供支持DI配置的工具。

Unity 1.1可以从模式与实践开发者中心下载。

David Hayden提供了一个Enterprise Library 4.0 数据访问程序块集成Unity 控制反转(IoC)的播客并对如何使用给出了一个很好的介绍。


posted on 2008-08-15 18:47  2017_LIVE  阅读(335)  评论(0编辑  收藏  举报