首页 新闻 会员 周边

Castle Aop问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-12-22 17:23

求Castle Aop代码,或其他轻量级稳定的Aop介绍

RyanCheng的主页 RyanCheng | 菜鸟二级 | 园豆:474
提问于:2012-12-21 09:57
< >
分享
最佳答案
0

Unity

收获园豆:8
Launcher | 高人七级 |园豆:45045 | 2012-12-21 10:10

这个不是IoC吗

RyanCheng | 园豆:474 (菜鸟二级) | 2012-12-21 10:31

@RyanCheng: http://www.cnblogs.com/chsword/archive/2009/04/28/unity_aop.html

这篇文章比较早了,不过也说明了一些问题。

Launcher | 园豆:45045 (高人七级) | 2012-12-21 10:39

@Launcher: 你好,谢谢你的回复,你说的文章链接我看了一下,这样通过属性或者配置来实现的aop肯定是不科学的,如果插入的东西比较大,配置文件将无法维护吧。

而通过属性更不可能了,假如我是对一个dll(此时无法看到里面的代码)里的方法执行拦截,因为我无法修改源文件,所以无法去添加属性

RyanCheng | 园豆:474 (菜鸟二级) | 2012-12-21 16:35

@RyanCheng: 配置文件可以采用编码方式实现,所以你的担忧不存在。如果你跟我谈的是DLL的导出方法,我可能会吃惊一下如何拦截,但是我想你肯定是说的是托管DLL中的某个类的方法,所以,你要调用方法前,你肯定需要先创建拥有该类的方法,那么只要你使用容器来创建这个类,那就可以在调用该类的方法前先执行我们的拦截器。

你可以去MSDN上下载一个Unity来学下一下上面的示例,搞明白三种拦截器的使用场景。

配置文件有配置文件的好处,就是易修改,并不是你讲的不科学,如何管理配置文件也是一门技术,Unity也提供了让你自己实现配置存储的能力,比如可以使用数据库来存储配置,这样就可以在运行期间,通过一个管理网站来实时的调整一些行为(比如用来实现策略模式要达到的目的)。

Launcher | 园豆:45045 (高人七级) | 2012-12-21 16:46

@Launcher: 我只想问一句你用Unity做过类似Aop的开发吗?

RyanCheng | 园豆:474 (菜鸟二级) | 2012-12-22 12:03

@RyanCheng: 不知道你的类似AOP的开发是指的什么,只能告诉你我项目中大量的采用了Unity,一是为了解耦,二是为了替换设计模式的运用。至于为什么选用Unity,而不选用Castle,Spring之类的,是因为Unity功能单一,微软出品。

Launcher | 园豆:45045 (高人七级) | 2012-12-24 09:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册