Microsoft 为什么不支持AOP

解决方案 »

  1.   

    如果你说的是Aspect Oriented Programming...那只是一个概念,没有什么支持不支持的,由架构设计师决定而不是微软...架构设计不是只依靠现成的框架来堆砌...当然,可能Java阵营很多人已经习惯将这种堆砌IBM产品的行为称为架构设计...也因此MS阵营很多人总是抱怨微软的支持不够...
      

  2.   

    如果不从语法或者编译器的层面上支持,
    我们空有思想也不能实现?
    为了拦截。我们难道要在类或则方法里面加上若干个方法调用?那样的类的设计岂不是太混乱了?或则利用代理模式?
    由此带来的冗余代码将是编程和维护的噩梦!
    看看G#(一个爱好者的作品)
    如果MS能做到那样,
    无论OR Mapping,LazyLoad,Cache,transaction,Log
    等等,都无需在领域模型方面给于关注。各司其职,岂不是更好?
      

  3.   

    .net强调前期开发速度而Java强调可维护性和弹性......
      

  4.   

    我想你说的是动态代理吧,并不是AOP。
    Java语言内建支持动态代理,.NET 并没有在语言层面上支持,
    但是你可以自己来完成这样的的功能啊,因为.NET 支持动态
    程序集,你可以自己动态生成程序集、类型、方法。
    在FCL的System.Emit这个namespace里有介绍的。
      

  5.   

    .net 是支持动态代理的.
    基于Remoting的.
    有很多AOP实现是基于动态代理的。
    但这样的变通实现方法是并不好。
    特别是效率太低。不知道Java在这方面如何?
      

  6.   

    难道就没有一个人好好研究过微软的开源IoC框架Unity吗?http://blogs.msdn.com/hakaneren/archive/2008/02/16/dependency-injection-with-unity-application-block.aspx先好好研究一下再发言吧。
      

  7.   

    谢谢楼上,研究一下先,
    另:研究过PostSharp么?
      

  8.   

    谁研究锅 微软的开源IoC框架Unity?
    讲讲怎么AOP?
    效率如何?
      

  9.   


    我花了好几天研究这个东西。
    好像没法实现AOP的功能啊。
      

  10.   

    Policy Injection Application Block 
    倒是可以实现AOP,
    但是是基于Remoting技术的透明代理。
    这做法在效率上的损失占且不提。
    单从所有类必须继承自MarshalByRefObject这一点上讲。
    对企业级的应用就很不适合。MS总是慢别人一拍!
      

  11.   

    http://www.pnpguidance.net/post/AOPUnityInterfaceInterceptorExampleUnityDependencyInjectionTutorials.aspx
      

  12.   

    都什么年代了,还在讨论2.0的技术,WCF取代Remoting就能轻松实现AOP了。
      

  13.   

    WCF的例子网上一抓一大把,关键字: WCF Behavior