- 30
- 0
- 约1.32千字
- 约 6页
- 2016-10-20 发布于重庆
- 举报
使用Unity实现AOP编程
基于微软企业库的开发框架使用Unity实现AOP编程 - hjtcyxf的专栏 - CSDN博客
默认分类 2009-08-19 01:29:34 阅读222 评论0字号:大中小
基于微软企业库的开发框架使用Unity实现AOP编程
目标:
在日常开发系统中,常常遇到一些系统的横切关注点,如日志、事务、异常等等。我们的目标是使用Unity这一IoC容器把这些横切关注点和业务逻辑相分离
实现方式:详细开发步骤:
首先,这些AOP都是针对应用层的对象的,如“创建客户帐号用例控制器”
下面是“创建客户帐号用例控制器”的注册代码(在“注册业务处理”代码块中):
我们每创建一个“用例控制器”,就要用以上两行代码进行注册
在具体页面中(如:“创建客户帐号”页面),创建一个用例控制器的属性,此属性并且要有Dependency定制特性(为了让它放在Unity容器中),如下图:
这样我们就能调用此控制器的相关接口来实现用例目标了
上面不是说用例控制器属性上有个定制特性Dependency嘛,让我们看看BasePage中的InjectDependencies方法,它就是用来把整个页面的实例放到容器中去
用例控制器的所有公共成员,都应把他抽取到相应的接口中:
这样做的目的有二:
想一下,每个用例控制器都对应一个用例,那么用例控制器的公有成员应对应于用例的输入输出、系统事件,这样也更加符合面向接口编程的原则
由于要实现AOP编程,我们必须要对用例控制器的方法进行拦截。使用Unity,我就可以做到,这里用的是接口拦截(InterfaceInterceptor)。
透明代理拦截器(TransparentProxyInterceptor),利用微软的Remoting机制,让被代理的类继承MarshalByRefObject,从而实现拦截。但这样做在性能上会有一定损失
接口拦截(InterfaceInterceptor):利用微软的Emit方式(即静态织入),在编译成IL时把拦截方法织入,但被拦截的类必须实现接口。我们采取的就是这种方式
在接口的方法中声明AOP的Attribute:
上面的Execute实现了3个Attribute,分别是事务(Transacation),日志(Log)、异常(Exception)。
当然,这3个Attribute是自定义的,下面会进行阐述。现在我只要知道如要进行AOP编程,只要在方法上写上相应的Attribute就行了。
至此,我们在用例控制器上的AOP代码已经完成,下面让我来说说上面的自定义Attribute是怎么实现的
所有的自定义核心代码库都在“EntLibSharp.Core.AOP”项目中:
项目可以分两个部分:Attribute,就是我们上面看到的方法上的定制特性;Handler,实际的拦截处理程序
下面已事务为例进行说明:
好了,到此为止,Attribute和Handler都已完成,我们在用例控制器的方法中就能用定制特性进行AOP编程了
开发框架源代码(VS2008)
您可能关注的文档
- 佳能24020参数.doc
- 佳能60D认识你的对焦系统.doc
- 佳能D1100入门知识.doc
- 佳能DV必需掌握重点.doc
- 佳能60D镜头搭配指南.doc
- 佳能D550产品描述.doc
- 佳能iP1180废墨清零方法.doc
- 佳能IPF大幅面打印机打印头升级固件和注墨指南doc.doc
- 佳能ix4000清零方法及错误代码.doc
- 佳能单反相机如何选择镜头.doc
- 非遗文化木雕知识技法分类木雕非遗介绍讲座PPT课件.pptx
- 川教版小学信息技术三年级上册第三单元 在线助我做家务3.2在线攻略全搜索PPT.pptx
- 北师大版(2024)物理八年级下册第八章 压强和浮力 第六节 浮力PPT.pptx
- 中小学生全面守护安全教育必修课主题班会PPT课件.pptx
- 川教版小学信息技术三年级上册第二单元 在线助我乐出游2.3在线购物备物品PPT.pptx
- 川教版小学信息技术三年级下册第二单元2.5评价在线学习成果PPT.pptx
- 川教版小学信息技术三年级上册第二单元 在线助我乐出游2.4在线交流聊计划PPT.pptx
- 川教版小学信息技术三年级下册第三单元3.1做好自我管理PPT.pptx
- 川教版小学信息技术三年级上册第一单元走进在线新生活1.2了解多样在线技能PPT.pptx
- 川教版小学信息技术三年级上册第一单元走进在线新生活1.3树立正确在线观念PPT.pptx
最近下载
- ISO14064温室气体排放.ppt VIP
- 技术部年度工作计划范文(5篇).docx VIP
- 2025年内蒙古商贸职业学院单招笔试综合素质试题库含答案解析.docx VIP
- 2025年信息系统安全专家智能漏洞挖掘技术专题试卷及解析.pdf VIP
- 基于大数据的仓储物流效率与碳排放关联性建模.pdf VIP
- 2025年房地产经纪人查封登记与合同解除专题试卷及解析.pdf VIP
- 2022年全国高校体育单招考试英语模拟试卷四.docx VIP
- 2025年房地产经纪人团队协作中的冲突处理模型与技巧专题试卷及解析.pdf VIP
- 2025年无人机驾驶员执照无人机安全审计检查表设计专题试卷及解析.pdf VIP
- 新视野大学英语预备级二综合教程电子书.doc VIP
原创力文档

文档评论(0)