大家好,又见面了,我是你们的朋友全栈君。
Enterprise Library 3.1 是 Microsoft patterns & practices Enterprise Library 的一个新的发行。Enterprise Library 是一个应用程序块的集合。这些可重用的软件组件为帮助开发者解决普通企业开发的挑战而设计。这个 Enterprise Library 发行包括了二个新的应用程序块,一个用于创建应用程序块和提供程序的软件工厂,以及新的性能和增强。
优点
应用程序块帮助解决开发人员所面对的从一个项目到下一个项目中的普通问题。它们被设计成对 Microsoft 推荐的用于 .NET 应用程序的最佳实践的封装。也可以很快且容易的添加到.NET应用程序中。例如,数据访问应用程序块提供了对最常使用的 ADO.NET 特征的访问,通过易用的类来暴露它们。在某些情况下,应用程序块也加入了不直接受基本类库支持的功能。
目标
Enterprise Library 是一个为了由创建复杂企业级应用的开发人员使用的应用程序块的集合。这些应用通常部署广泛且与其他应用和系统相互依赖。另外,他们通常有严格的安全、可靠性和性能需求。
Enterprise Library 的目标如下:
- 一致性。所有应用程序块都有一致的设计模式和实现方法。
- 扩展性。所有应用程序块都定义了扩展点,这些扩展点允许开发人员添加自己的代码来定制应用程序块的行为。
- 易于使用。Enterprise Library 提供了许多易用性的改进,包括图形配置工具,简单的安装过程,以及清晰且更加完整的文档和示例。
- 集成。Enterprise Library 被设计为在一起很好的工作,并经过测试确认它们可以做到。当然,单独使用应用程序块也是可以的。
读者需求
此指南面向的是软件架构和软件开发人员。为了从此指南中获取最大的收益,你需要理解下列知识:
- 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 包含下列内容:
- 二进制。 Enterprise Library 包含所有源码的预编译、强命名的程序集。更多信息,请参考使用 Enterprise Library 二进制。
- 源码。Enterprise Library 包含应用程序块的源码、指导包、配置工具、单元测试和快速入门。
- 单元测试。Enterprise Library 包含应用程序块在开发时创建的单元测试。更多信息,请参见单元测试。
- 快速入门。Enterprise Library 是简洁的、易于理解的关键应用程序块特性的示例。每个应用程序块都包括一个或多个快速入门。
- 文档。Enterprise Library 包括能被 Visual Studio 帮助系统查看的文档。文档包括如何使用 Enterprise Library 的指导和类库参考。
从以前版本中升级
一般情况下,用对于.NET Framework 2.0 的 Enterprise Library 构建的程序,与 Enterprise Library 3.1 功能相同,不需要修改任何源码。仅需要改变引用到新的程序集,并修改配置文件引用到正确的程序集版本。关于从更早的 Enterprise Library 升级,请参考每个应用程序块文档的附加指南。
这个 Enterprise Library 发行版包括二个新的应用程序块( 验证应用程序块和策略注入应用程序块)、二个向导包、以及与 Visual Studio 集成的配置编辑器。还有数据访问应用程序块和日志应用程序块功能的增加。下面各节将讨论这些和其他在这个发行中中的变化。
影响所有应用程序块的变化
影响所有应用程序块的 Enterprise Library 的变化如下:
- Enterprise Library 的这个版本包括了所有源码的预编译强命名程序集。更多信息,请参阅使用 Enterprise Library 二进制。
- 现在,一个独立的 Microsoft Windows 安装包(.msi 文件)为 Enterprise Library 提供源码。这个 windows 安装包由主 .msi 文件安装。源码 .msi 文件允许你释放源码的一个副本并放置在一个文件目录下,这个目录正是你多次想指定的。
- 用于 Enterprise Library 的部分信任补丁 2554。2006年1月已合并到 Enterprise Library 核心。
- 用于 Enterprise Library 的管理性扩展。2006年1月已合并到 Enterprise Library 核心。
- 现在可以使用 Visual Studio 创建和修改配置文件。这个配置工具叫做配置编辑器。配置编辑器与单独运行的配置控制台具有同样的功能,但是它使用 Visual Studio 属性窗口来显示应用程序块的属性,用错误列表来显示配置错误。整体上讲,配置编辑器和独立配置控制台都是配置工具。更多信息可以查看 Enterprise Library 配置工具。下面描述一些配置工具的活动将帮助你使用配置工具:
- 可以使用配置工具创建、修改标准和的.NET Framework 节。更多信息,请参阅配置 。
- 可以用配置工具调整应用程序块的配置为特定的运行时环境。更多信息,请参阅定制运行时设置。
- 可以使用配置工具加密和解密配置节中的数据。更多信息,请参阅加密配置节数据。
单独的应用程序块的改变
单独的应用程序块的重要改变交在以下节中描述。它们讨论了数据访问、异常处理和日志应用程序块的改变。
数据访问应用程序块
2007年5月发行的数据访问应用程序块包括下列改进:
- 包括一个新类 SqlCeDatabase ,它允许你使用 SQL Server CE。这是一个 SQL Server 轻量级的、内部过程(in-process)的版本,包含了相关数据库的基本功能。
- 包括一个Database.UpdateDatabase方法的重载,它带有updateBatchSize参数。设置updateBatchSize参数为正整数将导致 DataAdapter对象将以指定大小的块发送修改到数据库。这减少了数据库回发的次数。
更多信息,请参阅数据访问应用程序块文档。
异常处理应用程序块
2007年5月发行的异常处理应用程序块包括下列改进:
- 异常处理应用程序块可用于在 Windows Communication Foundation (WCF) 应用程序的服务接口上实现异常屏蔽。ExceptionShieldingAttribute可以被定义一个服务实现类上,以调用部署在服务边界上的异常。FaultContractExceptionHandler可用于映射异常为失败契约以防止返回的敏感信息给了不可信的调用者。
- ExceptionPolicy.HandleException方法有了一个新的重载,它调用异常处理策略,在一个输出参数中返回结果异常来代替抛出结果异常。
- Wrap 和 Replace 异常处理程序包含一个附加的配置属性,它允许你指定在外部资源中的异常信息而不是直接在配置文件中的。此功能可用于异常信息的本地化。
更多信息,请参阅异常处理应用程序块文档。
日志应用程序块
2007年5月发行的异常处理应用程序块包括下列改进:
- 现在包括一个 Rolling Flat File Trace Listener 。这个跟踪监听器在当前日志文件超出预定义的时间或大小时创建一个新的日志文件。
- 现在包括一个 WCF 适配器,允许你记录 WCF 消息。
- 现在包括了一个TimeStampToken类的改进版本。日志应用程序块的早期版本只允许时间间隔记录为协道界时(UTC)。在这个版本中,时间间隔令牌当前支持一个local:前缀,以指出时间间隔以本地时间显示。更多信息,请参阅跟踪监听器属性。
- 包括一个 ReflectedPropertyToken类。日志应用程序块的这个发行支持一个新的格式化令牌,允许记录在定制类上的定制属性,这个类派生自 LogEntry 类,或者是对它的修改。更多信息,请参阅扩展和修改日志应用程序块。
更多信息,请参阅日志应用程序块文档。
Enterprise Library 的添加
Enterprise Library 3.1 包括二个新的应用程序块,二个向导包,和集成到 Visual Studio 中的配置编辑器。下面将对它们进行描述:验证应用程序块
验证应用程序块允许开发人员生成用于他们的应用程序的验证规则。它提供了下列好处:
- 它提供一个为业务对象定义验证规则的通用方法,以允许它们在应用程序中跨各层中使用。
- 它提供了一个通用验证规则类型集,以及让开发人员容易的定义自己的规则类型的能力。
- 提供了使它易于集成验证应用程序块到 ASP.NET、Windows 窗体和 WCF 中的技术适配器。
更多信息,请参阅验证应用程序块文档。
策略注入应用程序块
策略注入应用程序块允许开发人员指定在一个策略集条目中的对象的横切( corsscutting )行为。横切关系是普通的跨越多个对象的必要任务、特征或处理。例如日志、授权、验证和度量。一个策略是一系列处理程序的组合,处理程序在客户代码调用类的方法,以及带有基于属性的异常策略时执行,一系列的配置方法选择类和类成员(方法和属性)为应用程序块加上处理程序。策略注入应用程序块的目的是分离核心和横切关系,并最少化与实现普通特性关联的潜在问题。
策略注入应用程序块提供了一个 ready-built 解决方案,它易于在新的或已存在的应用程序中实现,特别是在已利用 Enterprise Library 的应用中。它与这些应用程序块的预构建处理程序一起加快在使用 Enterprise Library 时的开发,同时帮助管理横切关系。开发人员也可以创建自己的处理程序和策略,以实现几乎任何所需要的用于它们的对象的方法和属性的拦截处理。
更多信息,请参阅策略注入介绍。
强命名向导包
Enterprise Library 的这个发行包括了一个新的强命名向导包,它与Visual Studio 进行了集成。它自动化了项目的强命名集处理,也可以修改任何 InternalsVisibleTo 属性以包含一个公开钥匙。
更多信息,请参阅强命名 Enerprise Library 程序集。
应用程序块软件工厂
应用程序块软件工厂提供的自动化的、写入的向导,这个向导简化了构建定制的应用程序块和应用程序块提供程序类的过程。应用程序块软件工厂包括不同任务的向导自动方法。如:
- 创建一个新的应用程序块
- 创建一个新的提供程序库
- 创建一个用于 Enterprise Library 应用程序块的类型化或无类型的提供程序
- 创建一个新的类型化的或无类型的提供程序(通用的)
- 转换一个无类型提供程序为一个类型化的
- 创建一个新的提供程序工厂和基类
- 创建一个新的设计时提供提供程序基节点
- 创建一个提供程序设计时节点
更多信息,请参阅应用程序块软件工厂文档
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1888405
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179780.html原文链接:https://javaforall.cn