Microsoft 为什么不支持AOP
解决方案 »
- 关于UDPClient通信 双向通信发不出数据的问题
- c# 调用 pb com 组件 问题
- 做asp.net登录页面,输入用户名,然后连接数据库查询用户名对应密码,最后匹配,就是查不到数据
- 请教一下 如何把空值送到SQL的text字段和image字段 在线等 解决后散分!
- 怎么输入的中文变成了乱码了?????高手请进!!!大侠们快说说怎么回事???
- C# 动态创建按钮,怎么获得按钮事件 求帮助
- 关于属性页的小问题
- 当我按下"alt+空格"时,explore.exe窗口要隐藏,再按一下,再显示出来
- 问2个控件是什么控件
- C#使用winform刷新界面的时候假死
- sql问题
- UltraGrid导出excel保留小数点位数的问题
我们空有思想也不能实现?
为了拦截。我们难道要在类或则方法里面加上若干个方法调用?那样的类的设计岂不是太混乱了?或则利用代理模式?
由此带来的冗余代码将是编程和维护的噩梦!
看看G#(一个爱好者的作品)
如果MS能做到那样,
无论OR Mapping,LazyLoad,Cache,transaction,Log
等等,都无需在领域模型方面给于关注。各司其职,岂不是更好?
Java语言内建支持动态代理,.NET 并没有在语言层面上支持,
但是你可以自己来完成这样的的功能啊,因为.NET 支持动态
程序集,你可以自己动态生成程序集、类型、方法。
在FCL的System.Emit这个namespace里有介绍的。
基于Remoting的.
有很多AOP实现是基于动态代理的。
但这样的变通实现方法是并不好。
特别是效率太低。不知道Java在这方面如何?
另:研究过PostSharp么?
讲讲怎么AOP?
效率如何?
我花了好几天研究这个东西。
好像没法实现AOP的功能啊。
倒是可以实现AOP,
但是是基于Remoting技术的透明代理。
这做法在效率上的损失占且不提。
单从所有类必须继承自MarshalByRefObject这一点上讲。
对企业级的应用就很不适合。MS总是慢别人一拍!