加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – Castle Windsor有没有什么缺点?

发布时间:2020-12-15 21:10:06 所属栏目:asp.Net 来源:网络整理
导读:我一直在研究城堡项目,具体是温莎。我对这种技术的可能性印象深刻,拥有这样一个松耦合系统的好处是显而易见的。我唯一不确定的是如果使用这种方法有任何缺点,特别是在asp.net?例如性能命中等。 我试图使这种方法的好处对我的同事开发人员可见,并受到以
我一直在研究城堡项目,具体是温莎。我对这种技术的可能性印象深刻,拥有这样一个松耦合系统的好处是显而易见的。我唯一不确定的是如果使用这种方法有任何缺点,特别是在asp.net?例如性能命中等。

我试图使这种方法的好处对我的同事开发人员可见,并受到以下反弹:

>这是使用反射和每次从容器调用对象,反射必须使用,因此性能将是可怕的。 (这是case吗?它使用反射在每个调用吗?)
>如果我依靠接口;如何处理具有额外方法和属性的对象,这些对象已经被添加到类中? (通过继承)

解决方法

回答你的问题:
  1. That is using reflection and each
    time that an abject is called from the
    container,reflection must used so
    performance will be terrible. (Is this
    the case? does it use reflection on
    every call?)

>不,它不。大多数时候,当您注册组件时,它使用很少的反射。它也可以在生成代理类型时使用反射,第一次从容器中请求一个组件。

  1. If I am relying on Interfaces; how
    do I deal with objects that have extra
    methods and properties which have been
    tacked onto the class? (through
    inheritance)

>这是所有的设计问题。你不想让每个对象都创建容器。您主要用于服务依赖。在这种情况下,你不关心什么类型实际上隐藏在界面后面(这是它的整个点,不是吗?)。

你也可以有类组件,但他们有限制,你必须知道那些(例如你不能拦截调用非虚拟方法)。我发现Windsor是最成熟的,最适合我的开发容器的所有样式。

除此之外,性能,我没有听说过一个项目,由于不可接受的性能,必须抛弃依赖容器。 Windsor真的很聪明,它缓存了长时间运行的结果,所以你不必支付价格两次。你可以在互联网上找到图表,比较许多IoC容器的速度。有两件事要注意:所有容器真的很快。不要认为其他容器在这些图表上比Windsor快的事实意味着它们更好。温莎为你做了很多东西,其他容器不。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读