首页 > 开发 > 综合 > 正文

AOP C#在行动(续1)

2024-07-21 02:19:28
字体:
来源:转载
供稿:网友
今天开始考虑aop的c#实现,对于静态的weavor方法迷惑中。在源代码级别的编织是采用像aspectj那样做呢,还是另辟蹊径?一开始就要让我头痛了。

aspectj的方式是:对源代码进行解析,然后在加入点(joinpoint)插入aspcet的代码,形成中间文件,再编译成最终文件。这种方法产生的性能比较好,有一个缺陷就是如果修改了weaving的规则,就要重新编译。(或许可以采用某些设计模式来消除这个弱点)

另外一种思路就是一开始就采用设计模式,在jontpoint处插入delegate,以后如果需要修改规则,不需要重新编译源代码,只要通过修改xml的aspect描述文件即可。缺点是delegate有系统开销,所以性能不如前面的方法。

真的很难取舍,是不是两种方法都支持呢?头痛ing...



商业源码热门下载www.html.org.cn

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表