Rickie Lee's blog

我是Rickie,毕业于上海交大,一直从事.NET平台上相关技术的开发、研究,多年服务于B2C 电子商务领域,包括前台、后台及仓库管理系统的业务流程分析、开发设计与实施。
现在正式加盟 - http://www.entlib.com 协力创建基于.NET的开源电子商务系统。 MSN:rickiechina@hotmail.com -- 欢迎交流!

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  394 随笔 :: 3 文章 :: 1421 评论 :: 129 引用

Enterprise Library: Exception Handling Application Block类设计分析篇

 

Written by: Rickie Lee (rickieleemail#yahoo.com)

My blog:http://www.cnblogs.com/rickie

Exception Handling Application Block设计用来完成企业级应用程序各层中异常处理。

***

Exception Handling Application Block依赖项

Enterprise Library中的所有Application Blocks设计用于相互联合使用。有时,有些Application Blocks依赖于其他Enterprise LibraryApplication Blocks和代码。Exception Handling Application Block有如下依赖项:

l         Enterprise Library Configuration Application Block Exception Handling Application Block使用该CAB读取配置信息。

l         Common library functionality,如instrumentation 该类库为暴露事件和系统管理数据提供了不同的功能。

Application Block包括用来记录异常信息的异常处理程序(Exception Handler),使用Logging异常处理程序需要Logging and Instrumentation Application Block,下面的类库关系图清楚显示这一点。

缺省情况下,Application Block使用XML文件存放配置信息,推荐使用Configuration Console配置工具来编辑配置文件。

 

Exception Handling Application Block设计

Exception Handling Application Block设计达到如下目标:

l         将执行大部分通用异常处理任务的逻辑封装为最小的应用程序代码。

l         减轻开发人员为通用异常处理任务编写重复代码和定制代码。

l         允许在异常处理policies部署后也可改变,并且确保改变的同时性和一致性。

l         包含异常处理的最佳实践。

 

下图显示了Exception Handling Application Block中主要类之间的交互关系:
Enterprise_EHAB_ClassRelationship.JPG

其中Configuration Application BlockLogging Application BlockEnterprise Library提供的另外2Application Blocks,分别用来读取配置信息和记录异常日志。

Client端调用ExceptionPolicy.HandleException方法,并传入Exception Policy名称。每一个Exception Policy下设定一个或多个不同的Exception Types,每一个Exception Type又包含一个或多个Exception Handlers

Wrap HandlerLogging HandlerReplace Handler和定制Handler都是异常处理程序(Exception Handler),这些Exception Handlers都实现IExceptionHandler接口或继承ExceptionHandler抽象类。

***

作者:Rickie Lee (rickieleemail#yahoo.com)

本文参考Enterprise Library: Exception Handling Application Block部分文档及Quick Start范例。

 

References:

1. Enterprise Library: Exception Handling Application Block

2. Rickie, Microsoft patterns & practices Enterprise Library January 2005 [中文稿], http://www.cnblogs.com/rickie/archive/2005/01/30/99443.html

3. Rickie, Enterprise Library released! http://www.cnblogs.com/rickie/archive/2005/01/29/99106.html

 

 

0
0
(请您对文章做出评价)
« 上一篇:Enterprise Library: Exception Handling Application Block概述
» 下一篇:Enterprise Library: Logging and Instrumentation Application Block概述
posted on 2005-02-12 16:05 Rickie 阅读(3240) 评论(0)  编辑 收藏 网摘 所属分类: E.Enterprise Library