微软企业库(1):Enterprise Library 5.0介绍

简介:

Microsoft Enterprise Library 5.0 – 2010四月

patterns & practices Developer Center

patterns & practices Developer Center

【1】摘要

PP小组2010年4月发布了企业库5.0,这是MSDN企业库5.0主页英文版的翻译。译者:Frank Xu Lei

微软企业库是一系列应用程序块的集合,目标是帮助开发人员来处理常见的企业应用开发遇到的挑战。应用模块是作为指南,提供的代码开发人员可以在企业项目里用作扩展或修改使用。

 

【1.1】下载:

Microsoft Enterprise Library 5.0

Microsoft Enterprise Library 5.0 Documentation

【1.2】发布指南:

Release Notes

【1.3】类库:

Enterprise Library 5.0 Class Library on MSDN

【1.4】动手实验室:

Microsoft Enterprise Library 5.0 Hands-on Labs

【1.5】支持:

Discussions for patterns & practices – Enterprise Library

【1.6】社区:

patterns & practices Enterprise Library Community Site

【1.7】社区扩展:

Enterprise Library Contrib Extensions

【1.8】技术问题反馈:

Issue Tracker

【1.9】视频:

Enterprise Library 5.0 preview at the patterns & practices summit

What's coming in EntLib 5.0 and a sneak peek into the new EntLib Developer Notes

Unity features and futures

【1.10】许可证:

Microsoft Public License (Ms-PL)

【2】概述

企业库包含可复用的组件,它们可以帮助开发人员处理常见的企业应用开发的挑战。它包含一些处理特别棘手的问题的应用模块,比如数据访问、日志或验证;以及无线模块,工具和拦截/策略注入模块,被设计用来实现更加爱松耦合的和可维护的软件系统。

不同的应用程序有不同的需求,你会发现在自己的项目里使用这些模块不是那么地合适。在使用应用模块之前,你应该清楚地理解自己应用程序的需求,而且应用模块处理的场景。注意发布的企业库包含一些可选择的安装选项,允许你选择安装自己喜欢的应用程序块。

【2.1】主要模块:

微软企业库5.0包含以下模块:

  • Caching Application Block. 开发人员可以使用此应用模块与他们程序里的缓存协同工作。 它支持可拔插与持久化的存储机制。
  • Cryptography Application Block.  开发人员可以使用此应用模块与他们程序里的哈希与对称加密算法协同工作。
  • Data Access Application Block.开发人员可以使用此模块与他们系统中的标准的Database功能协同工作,包括同步和一部数据访问,可以返回的多种数据格式
  • Exception Handling Application Block. 开发人员可以使用此模块为异常处理创建持久化策略,处理在企业层各个层次之间发生的异常。
  • Logging Application Block.  开发人员可以使用此模块来处理系统中的不同的日志需求。这次发布改进了日志的性能。
  • Policy Injection Application Block.  此模块可以用来实现侦听策略,对于一些常见的特性实现的简化。比如日志、缓存、异常处理和验证。
  • Security Application Block. 开发人员可以使用这个模块来与他们系统中的授权和安全缓存功能协同工作。
  • Unity Application Block. 开发者可以使用此模块作为轻量级的、可扩展的依赖注入容器,带有构造函数支持、熟悉和方法调用注入,也包含实例和类型注入。
  • Validation Application Block. Developers can use this application block to create validation rules for business objects that can be used across different layers of their applications. 开发者可以使用此模块为业务对象去出创建建验证规则,它可以跨越不同的应用程序层。

企业库通用也包含了一系列核心的功能,包含配置和向导,面向对象的生命周期管理。这些功能被其它所有的应用模块使用。

【2.2】通用场景

企业库适用于多种情况:

  • 企业库为企业级应用常见的场景提供了充分的支持功能。
  • 你可以使用每个应用模块的扩展点,以及通过增加新的Provider来扩展应用模块。你也可以修改现有模块的源代码去开发新的功能,甚至是开发新的模块。你也可以对现有的应用模块进行扩展,或者你也可以使用其他人开发的扩展模块。
  • 企业库的每个模块是互相独立的。你只需要安装自己需要的模块即可,而不必安装整个库。
  • 企业库包含源代码和所有模块的单元测试代码。这意味着你可以查看所有的实现,修改模块并嵌入到自己的库里,或者你可以在自己其它的程序里使用企业库的部分代码。
  • 企业库包含文档、动手实验室和源代码。企业库嵌入了许多设计模式,演示了很多优秀的架构和编码技巧。你可以把它作为学习架构、设计和编码的最好实例。

【2.3】技术需求

这些可复用的组件和指南首先是给软件开发者和软件架构师的。为了最大限度地从中获得帮助,你应该了解一下技术:

  • Microsoft Visual C# 或 Microsoft Visual Basic .NET
  • Microsoft .NET Framework

IT专业人员和系统管理员将会从中受益,因为它能帮助简化系统部署和维护的工作。IT专业人员可以使用配置控制台程序去修改应用模块的配置,而不需要编写任何代码。

【2.4】此次发布的内容

Enterprise Library 5.0包含的内容:

  • Binaries. 企业库包含所有代码的预编译、强命名的程序集
  • Source code. 企业库包含应用模块和配置工具的代码
  • Unit tests. 企业库包含开发时各个模块的UnitTest代码
  • Documentation. 可以单独下载企业库文档separate download ,并可以使用Visual Studio 查看。这个文档是企业库的帮助文档,介绍如何使用企业库。

【2.5】系统需求

支持的系统版本: x86 and x64.

  • 操作系统: Microsoft Windows® 7 Professional, Enterprise或Ultimate; Windows Server 2003 R2; Windows Server 2008 with Service Pack 2; Windows Server 2008 R2; Windows Vista with Service Pack 2; 或 Windows XP with Service Pack 3.
  • Microsoft .NET Framework 3.5 with Service Pack 1或Microsoft .NET Framework 4.0.

为了更丰富的开发环境,推荐一下开发工具:

  • Microsoft Visual Studio® 2008 Development System with Service Pack 1 (任意版本)或Microsoft Visual Studio 2010 Development System (任意版本).

为了允许单元测试,必须具备以下条件:

  • Microsoft Visual Studio 2008 Professional, Visual Studio 2008 Team Edition, Visual Studio 2010 Premium, Visual Studio 2010 Professional, 或Visual Studio 2010 Ultimate edition.
  • Moq v3.1 程序集.

对于 Data Access Application Block,需要一下条件:

  •  .NET Framework 3.5 SP1或4.0支持的数据库服务器。包含,SQL Server® 2000 or later, SQL Server 2005 Compact Edition, 以及Oracle 9i 以后版本。可以通过OLE DB和ODBC支持。

对于Logging Application Block, 需要一下条件:

  • 存储日志消息。如果你使用消息队列MSMQ跟踪侦听器去记录日志,你需要安装微软消息队列。如果你使用DataBase 跟踪侦听器去存储日志消息,你需要访问数据库服务器。如果你使用E-Mail跟踪侦听器去存储日志消息,你需要访问SMTP服务器。如果这些条件无法满足,你也许就不能够使用特定的企业库特性了。

【2.6】设计目标

企业库是为开发复杂的企业级应用的开发者准备的。很显然,企业库大多使用在分布式部署和雨其它系统互操作的应用系统平台中。此外,它们安全性、可靠性和性能要求非常苛刻。企业库的目标如下:

  • Consistency. 所有的应用模块遵循设计模式和实现方法
  • Extensibility. 所有的应用模块包含扩展点,运行开发人员通过增加自己的代码来定制模块的行为,
  • Ease of use. 企业库提供了许多适用性方面的改进,包含配置工具,强大的编程配置支持,智能接口,运行你选择需要的应用模块的简化安装,以及清晰的文档,例子和动手实验室。
  • Integration. 企业库设计来可以一起工作,也可以单独工作的。

【3】新增加的特性:

这次发布的企业库新版本包含以下重要的新特性和更新,它会让开发者更加高效率。没有新增模块;相反,Team关注在如何使现有的模块的稳定性、可维护性和可学习性更加完美上。这些新特性包括:

  • 主要的架构重构,通过完全支持依赖注入风格的开发来该井可测试下和可维护性
  • 独立的依赖注入容器(Unity 与企业库一起发布,但你可以使用自己的容器取代Unity )
  • 代码化配置支持,包含更加方便的配置接口,一个XSD schema去启用智能感知
  • 重新设计配置工具:
    • 更佳的外观和使用感觉
    • 通过取代编写设计时代码需求的元数据驱动配置可视化改进扩展
    • 简化复杂配置任务的向导
  • 更加智能化的数据查询访问器
  • 匿名数据访问支持
  • 在Validation Application Block attributes和DataAnnotations 之间选择使用验证
  • 与WPF验证机制集成
  • 支持复杂的配置场景,包括多个配置代码合并于层次化合并
  • 优化Cache回收机制
  • 更好的日志性能
  • 支持使用 Microsoft Visual Studio 2010 与.NET 4.0 Framework 集成
  • 改进Unity
  • 改进程序集数量

所有变更的详细列表包含在这里: Enterprise Library documentation ,也可以online查看。

 

【4】开始学习:

关于如何学习企业库,你参考这里的企业库内容 Enterprise Library Documentation .

【5】社区:

企业库与其它PP小组发布的产品一样,是与此社区关联的-www.codeplex.com/entlib。在这里你可以与别人分享自己的想法。你也可以提出问题,以及从the Enterprise Library Discussion forum论坛获取帮助。你也可以下载额外的内容,比如扩展和培训材料。社区成员也可以帮助微软计划和测试企业库和模块的特性。社区开发扩展在这里可以找到:EntLib Contrib

 

【6】反馈与支持:

问题?评论?建议?可以提出关于此版本的范阔或者对于任何问题的帮助,请访问Enterprise Library Discussion forum 和Enterprise Library community 两个站点。推荐社区站点,以内你可以与其他社区成员分享你的想法、问题和解决方案。企业库向导是提供的指南,可以复用、定制以及扩展。基于代码的向导是以源码发布的,而且无需担保。客户端可以从Microsoft Premier Support Services 获取收费帮助,但是代码是微软支持工程师编写的。

【7】作者:

微软Enterprise Library 5.0 由下列人员开发:

  • Product/Program Management: Grigori Melnik (Microsoft Corporation)
  • Architecture/Development: Bob Brumfield and Chris Tavares (Microsoft Corporation), Fernando Simonazzi (Clarius Consulting), Nicolas Botto (Digit Factory) and Olaf Conijn (Olaf Conijn BV)
  • Testing: Carlos Farre, Masashi Narumoto and Rohit Sharma (Microsoft Corporation), Nicolas Botto (Digit Factory), Lavanya Selvaraj, Magdelene Sona, Mani Krishnaswami, Meenakshi Krishnamoorthi, Santhosh Panneerselvam, and Ravindra Varman (Infosys Technologies Ltd), Erik Renaud and François Tanguay (nVentive Inc), Rick Carr (DCB Software Testing, Inc)
  • User experience: Damon van Vessem, Heidi Adkisson, Jen Amsterlaw, and Kelly Franznick (Blink Interactive), and Brad Cunningham (Interknowlodgy)
  • Documentation: Alex Homer (Microsoft Corporation) and Dennis DeWitt (Linda Werner & Associates Inc)
  • Editing and production: RoAnn Corbisier and Steve Elston (Microsoft Corporation), Nancy Michel (Content Master Ltd.), and Patrick Lanfear and Tom Draper (Twist Creative LLC)
  • Release management: Richard Burte (ChannelCatalyst.com, Inc.) and Jennifer Burch (DCB Software Testing, Inc)
  • Business administration support: Tracy Emory (Microsoft Corporation)

非常感谢Enterprise Library 5.0 Advisory Board成员:

  • Brian Button (Asynchrony Solutions),
  • Kyle Huntley (Avanade),
  • David Starr (Elegant Code),
  • Wallin Ludwik (Volvo), Bill Wilder (Fidelity),
  • Andrej Golcov (Hermes SoftLab),
  • John Askew, Nicholas Blumhardt, Martin Bennedik and Serge Baranovsky (Independent),
  • Evgeny Sorokin and Ksenia Mukhortova (Intel),
  • Scott Nichols (Idaho Central),
  • Eng Chong Lim and Isabel Niu (McDonald's Corporation),
  • Aaron Hanks, Glenn Block, Hugo Batista, Jason Hogg, Jason Olson, John Czernuszka, Joshy Joseph, Lenny Fenster, Massimo Mascaro, Matthew Podwysocki, Tom Hollander, Piyush Gupta, and Scott Densmore (Microsoft)
  • Matthew Buonomano and Nikola Malovic (Monster.com),
  • Daniel Piessens and Phill Van Hoven (Red Prairie),
  • Walter Wu (Royal Bank of Canada),

非常感谢以下人员预览Microsoft Enterprise Library 5.0并提出了许多有价值的反馈和想法:

  • Ade Miller, Blaine Wastell, David Hill, Don Smith, Eugenio Pace, and Mohammad Al-Sabt (Microsoft Corporation).

【8】相关文章:

patterns & practices Developer Center

英文原文:

http://msdn.microsoft.com/en-us/library/ff632023.aspx

下载地址:

http://entlib.codeplex.com/

 


 

老徐的博客

作      者】:Frank Xu Lei

网      站】:http://www.frankxulei.com/

【中文论坛】:微软WCF中文技术论坛 
【英文论坛】:微软WCF英文技术论坛




 本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/408373,如需转载请自行联系原作者




相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
iOS开发
Xcode8报错:**Framework not found IOSurface for architecture arm64** 或者 **Framework not found FilePr...
Xcode8 编译报错: Framework not found IOSurface for architecture arm64 或者Framework not found FileProvider for architecture x86_64/arm64. 原因 IOSurface.framework和 FileProvider.framework是 iOS11 新增加的库,但 Xcode8下没有这个库。
1515 0