AOP(依赖注入)框架,用哪一种框架好一些?给个建议

解决方案 »

  1.   

    autofac??
      

  2.   

    看你玩什么了。
    如果你不搞啥方法拦截一类的玩意
    简单点的MEF就好(导入点和导出点自己描述自己,不用瞎折腾,这种优点是扩展项自己表达自己,不用脱裤子放屁,实际大多数情况是1对1,或者1对多,即使是多选一,也顶多是自己实现配置规则,然后在元数据里过滤)
    如果你是要依赖配置,基本上都差不多,没有一个简单的,比如微软自己企业库的Unity(既然依赖配置,那就要写配置,既然选择别人成品的配置,那么就得遵守别人的配置规则,不过嘛,大多数玩意的配置规则复杂的一塌糊涂,而且配置错误,各种报错,各种异常。得纠结半天)如果你是玩拦截的,目前好像只有aspect好用点
      

  3.   

    玩过微软企业库Unity
      

  4.   

    autofac,貌似目前net下用的最多吧
    ninject目前好像没多少人用了
    unity这东西entlib都没多少人用了
    castle反正我是从没用过
      

  5.   

    .net竟然没有一个成熟的aop框架吗?再看看java的spring.net真的没落了吗?
      

  6.   

    有很多,java移植过来的也不少,在.net版问题下说没落有点不够客观吧,我昨天无聊转了一下论坛,除了windows区就.net区比较火了,java区一个问题三五条回复的,真的是整个论坛没落了。
      

  7.   

         看到上面这些回答 ,真尼玛醉了
          AOP是面向横切的编程,依赖注入(IOC)I是降低耦合度的编程
          不是同一个东西。 上面一帮人大模大样的在哪不懂装懂。真尼玛醉了。      .net mvc 里面面向横切的编程 典型的是筛选器操作。
          .net mvc 面向IOC的编程自带的有接口DependencyResolver需配合 unity 和ninject来操作。
      

  8.   

    有很多,java移植过来的也不少,在.net版问题下说没落有点不够客观吧,我昨天无聊转了一下论坛,除了windows区就.net区比较火了,java区一个问题三五条回复的,真的是整个论坛没落了。
    我之前去java版一共问了3个问题。
    只有一个回答正确的。其他的都没答案。
    可能Java大神,都不了csdn的java版块吧
      

  9.   


    施主着相了,非要跟博客园一样么,在实现手段上需要区别一下“适配器模式和桥接模式有啥区别联系么”
    其实只要方向一样,思维一样不必追究。我们追究的是思维,方向不一样,那样的需要定性说明。比如我前面回过SaaP的问题,那是因为他们把SaaP定位为软件租用了而这个帖子,其实不一样的。不管是IOC也好,AOP也罢,用的手段和思维方式其实一样。都是横切解耦
      

  10.   

    IOC是控制反转,同时也是横切。
    AOP是横切,同时也是反转,当然AOP不光能注入,还能拦截处理。
    当然IOC的就不能拦截处理么,其实也行所以我们不太区别了
      

  11.   

    相反来说,如果你一定要用asp mvc做例子,说特性注解叫AOP,接口/属性注入叫IOC那么我说微软的MEF是什么?他用特性注解做挂接标记,来实现注入挂接。这算什么?
    同样aspect也能用IOC手段做方法拦截,这又算什么??
      

  12.   

    Quote: 引用 9 楼 wanghui0380 的回复:
    IOC主要针对【点注入】,AOP主要针对Type,Assembly横切。IOC 可不一定是横切解耦。AOP有解耦的特质,但不主要针对解耦。控制反转更不是横切,横切也不能注入,注入的只是控制反转。当然你强行实现,未必不可能,不过未免南辕北辙。估计在你的概念里,大家都有特性注解,所以都一样。你没搞清楚,两个根本不同概念。
      

  13.   

    autofac
      

  14.   

    Unity auto nject等等,,都可以
      

  15.   

    aop编向于业务层面,ioc偏向于实现层面
      

  16.   

    在我们设计一个软件中,我们需要扩展的部分、监听的部分,我们要求设计师明确地设计事件,在Class或者Interface上设计事件。我们讲事件驱动软件开发,而不是什么反射、横切来驱动软件开发。我们将面向对象系统分析和设计技术来扩展软件,而不是结构化反射扩展。要记住的是,能够用规范的接口、事件来实现的业务逻辑,绝对不用什么横切和反转。
      

  17.   

    大家把AOP和IOC一起说,是因为多数AOP框架都用到了IOC。
      

  18.   

    以前画过一个图,用于理解AOP和IOC,不一定对。