
G. Enterprise Library
artech
这个作者很懒,什么都没留下…
展开
-
[原创]Enterprise Library深入解析与灵活应用(7):再谈PIAB与Unity之间的集成
在EnteLib中,PIAB(Policy Injection Application Block)和Unity的定位是轻量级的AOP框架和IoC容器(Container)。通过PIAB,我们可以将一些业务无关的crosscutting concern定义于相应的CallHandler中,通过Attribute声明或者配置应用到承载业务逻辑的目标方法上。而通过Unity提供的IoC容器(原创 2009-06-28 23:10:00 · 1147 阅读 · 1 评论 -
[原创]Enterprise Library Policy Injection Application Block 之二: PIAB设计和实现原理
在前面一篇文章中,我对Enterprise Library中的PIAB (Policy Injection Application Block)作了简单的介绍。在这篇文章主要谈谈我个人对PIAB设计和实现原理的一些理解。在介绍过程中,我尽量采用由浅入深出的方式,同时结合例子、Source Code。希望通过本篇文章让大家对PIAB有一个全面、深刻的认识。一、MBR、ObjRef、Re原创 2008-01-31 09:18:00 · 643 阅读 · 0 评论 -
[原创]Enterprise Library Policy Injection Application Block 之三:PIAB的扩展—创建自定义CallHandler(提供Source Code下载)
本系列的第一部分对PIAB使用场景进行了简单的介绍,作中阐述了通过PI(Policy Injection)的方式实现了Business Logic和Non-Business Infrastructure Logic的分离,从而实现了AOP(Aspect Oriented Programming)。在第二部分中详细介绍PIAB的实现机制:通过自定义RealProxy的方式实现了Method原创 2008-02-19 09:18:00 · 701 阅读 · 0 评论 -
[原创]Enterprise Library Policy Injection Application Block 之四:如何控制CallHandler的执行顺序
一、为什么CallHandler需要进行排序PIAB为我们提供了一个很好地实现AOP的方式。AOP旨在实现Business Logic和Non-Business Infrastructure Logic的分离。通过PIAB,我们将这些业务无关的逻辑定义在一个个的CallHandler中,然后通过Attribute或者Configuration的方式,将我们所需的CallHandler原创 2008-02-21 09:18:00 · 687 阅读 · 0 评论 -
[原创]WCF后续之旅(7):通过WCF Extension实现和Enterprise Library Unity Container的集成
松耦合、高内聚是我们进行设计的永恒的目标,如何实现这样的目标呢?我们有很多实现的方式和方法,不管这些方式和方法在表现形式上有什么不同,他们的思想都可以表示为:根据稳定性进行关注点的分离或者分解,交互双方依赖于一个稳定的契约,而降低对对方非稳定性因素的依赖。从抽象和稳定性的关系来讲,抽象的程度和稳定程度成正相关关系。由此才有了我们面向抽象编程的说法,所以“只有依赖于不变,才能应万变原创 2008-07-28 09:16:00 · 1629 阅读 · 0 评论 -
[原创]WCF后续之旅(8):通过WCF Extension 实现与MS Enterprise Library Policy Injection Application Block 的集成
在上一篇文章中,我们通过自定义InstanceProvider实现了WCF和微软Enterprise Library Unity Application Block的集成, 今天我们已相同的方式实现WCF与Enterprise Library的另一个Application Block的集成:Policy Injection Application Block (PIAB)。PIAB,原创 2008-07-29 09:16:00 · 633 阅读 · 0 评论 -
[原创]Enterprise Library深入解析与灵活应用(1):通过Unity Extension实现和Policy Injection Application Block的集成
Enterprise Library是微软P&P部门开发的众多Open source框架中的一个,最新的版本已经出到了4.0。由于接触Enterprise Library已经有很长的一段时间,在实际的项目中使用的频率也很高。对此有了一些积累,希望通过这个新的系列和广大网友一起分享和交流。本系列假设读者已经对Enterprise Library有一定的了解,故而不会对各个Applicati原创 2008-08-06 09:15:00 · 774 阅读 · 0 评论 -
[原创]MS Enterprise Library Policy Injection Application Block 深入解析[总结篇]
Policy Injection Application Block(PIAB)是Enterprise Library众多Application Block中的一个。在我看来,PIAB和后来的Unity Application Block的推出在Enterprise Library的发展历程中具有重要的意思,它标志着Enterprise Library向真正框架上面发展。不再是仅仅关注于原创 2008-08-08 09:15:00 · 667 阅读 · 0 评论 -
[原创]Enterprise Library深入解析与灵活应用(2): 通过SqlDependency实现Cache和Database的同步
对于一个真正的企业级的应用来说,Caching肯定是一个不得不考虑的因素,合理、有效地利用Caching对于增强应用的Performance(减少对基于Persistent storage的IO操作)、Scalability(将数据进行缓存,减轻了对Database等资源的压力)和Availability(将数据进行缓存,可以应对一定时间内的网络问题、Web Service不可访问问题、原创 2008-08-11 11:15:00 · 687 阅读 · 0 评论 -
[原创]Enterprise Library深入解析与灵活应用(3):倘若将Unity、PIAB、Exception Handling引入MVP模式.. .. ..
最近在做一个Smart Client Software Factory的项目。熟悉SCSF或者CAB的都应该很清楚MVP这种设计模式。MVP是MVC的一种变体,View和Mode分别关注于UI的呈现和业务模型,View和Mode完全分离,View通过Presenter实现对业务模型的访问,Presenter“间接”地调用View实现对UI的操作。对于MVP中的异常处理,我们是直接通过En原创 2008-08-22 09:14:00 · 707 阅读 · 0 评论 -
[原创]Enterprise Library深入解析与灵活应用(4):创建一个自定义Exception Handler改变ELAB的异常处理机制
一、背景与动机 微软Enterprise Library ELAB(Exception Handling Application Block)提供了一种基于策略(Policy)的异常处理方式,在不同的环境中,比如多层架构中不同的层次中,我们可以定义不同的异常处理策略。对于ELAB来说,Exception Handling Policy = Exception Type + Excepti原创 2008-09-26 10:13:00 · 857 阅读 · 1 评论 -
[原创]Enterprise Library深入解析与灵活应用(5):创建一个简易版的批处理执行器,认识Enterprise Library典型的配置方式和对象创建方式
最近负责一个框架性项目的升级,主要是从.NET Framework 3.0建议到.NET .NET Framework 3.5,开发工具也从VS2005迁移到VS2008。但是最让我头疼的是,原来Team Foundation Server 2005不能正常工作,公司暂时还没有购买VSTS 2008的打算。基于TFS 2005的Team Build功能不能使用了,导致原本通过Team B原创 2008-11-17 11:13:00 · 479 阅读 · 0 评论 -
[原创] Enterprise Library深入解析与灵活应用(6):自己动手创建迷你版AOP框架
基于Enterprise Library PIAB的AOP框架已经在公司项目开发中得到广泛的使用,但是最近同事维护一个老的项目,使用到了Enterprise Library 2,所以PIAB是在Enterprise Library 3.0中推出的,所以不同直接使用。为了解决这个问题,我写了一个通过方法劫持(Method Interception)的原理,写了一个简易版的AOP框架。(如果原创 2008-11-27 15:12:00 · 860 阅读 · 0 评论 -
[原创] Is this a MS EnterLib DAAB BUG or not?
开门见山,使用MS Enterprise Library的DAAB(Data Access Application Block)获取数据时抛出异常。具体场景如下,通过Database对象的ExecuteReader执行两段Select语句,前一句是不合法的,后一句是正确的。为了避免第一次执行出错导致程序的终止,特意将其放到Try/Catch酷快中。两次数据库操作通过TrsanctionS原创 2009-04-22 15:12:00 · 670 阅读 · 0 评论 -
[原创]Enterprise Library Policy Injection Application Block 之一: PIAB Overview
在过去的半年里,定期或者不定期地写点东西已经成为了我的一种习惯。可是最近两个月来一直忙于工作的事情一直足够的时间留给自己,虽然给自己列了很长一串写作计划,可是心有余而力不足。这一段工作主要是帮助公司开发一套分布式的开发框架,对一些技术和设计方法有了一些新的认识。这两天的工作主要是如何把Enterprise Library V3.1的PIAB(Policy Injection Applic原创 2008-01-29 12:18:00 · 644 阅读 · 0 评论