微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我一直在研究城堡项目,具体是温莎。我对这种技术的可能性印象深刻,拥有这样一个松耦合系统的好处是显而易见的。我唯一不确定的是如果使用这种方法有任何缺点,特别是在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快的事实意味着它们更好。温莎为你做了很多东西,其他容器不。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WPF...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这...
Some samples are below for ASP.Net web form controls:(from http://www.visualize.uk.com/resources/asp
问题描述: 对于未定义为 System.String 的列,唯一有效的值是(引发异常)。 For columns not defined as System.String, the only vali
最近用到了CalendarExtender,结果不知道为什么发生了错位,如图在Google和百度上找了很久,中文的文章里面似乎只提到了如何本地化(就是显示中文的月份)以及怎么解决被下拉框挡住的问题,谈
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence changed a lot since 1.1. Here is the order: App
静态声明: ' Style="position: relative" AppendDataBoundItems="True"> (无 或 空 或
以下内容是从网络上搜集资料,然后整理而来的。不当之处,请不吝指教。(The following were from network, and edited by myself. Thanks in a
Imports System Imports System.Reflection Namespace DotNetNuke '*********************************
Ok so you have all seen them: “8 million tools for web development”, “5 gagillion tools that if you