.net – Castle Windsor有没有什么缺点?
|
我一直在研究城堡项目,具体是温莎。我对这种技术的可能性印象深刻,拥有这样一个松耦合系统的好处是显而易见的。我唯一不确定的是如果使用这种方法有任何缺点,特别是在asp.net?例如性能命中等。 我试图使这种方法的好处对我的同事开发人员可见,并受到以下反弹: >这是使用反射和每次从容器调用对象,反射必须使用,因此性能将是可怕的。 (这是case吗?它使用反射在每个调用吗?) 解决方法回答你的问题:
>不,它不。大多数时候,当您注册组件时,它使用很少的反射。它也可以在生成代理类型时使用反射,第一次从容器中请求一个组件。
>这是所有的设计问题。你不想让每个对象都创建容器。您主要用于服务依赖。在这种情况下,你不关心什么类型实际上隐藏在界面后面(这是它的整个点,不是吗?)。 你也可以有类组件,但他们有限制,你必须知道那些(例如你不能拦截调用非虚拟方法)。我发现Windsor是最成熟的,最适合我的开发容器的所有样式。 除此之外,性能,我没有听说过一个项目,由于不可接受的性能,必须抛弃依赖容器。 Windsor真的很聪明,它缓存了长时间运行的结果,所以你不必支付价格两次。你可以在互联网上找到图表,比较许多IoC容器的速度。有两件事要注意:所有容器真的很快。不要认为其他容器在这些图表上比Windsor快的事实意味着它们更好。温莎为你做了很多东西,其他容器不。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 为什么要使用ASP.NET MVC 2进行REST服务?为什么不是WCF?
- asp.net-mvc – 在ASP.NET MVC 1.0中在HTTP和HTTPS之间切换
- asp.net-core – Asp.net vNext中的bindingRedirect
- ASP.NET MVC的必备知识
- .net – 制作类似TinyURL.com的简短网址
- asp.net-mvc-3 – dataannotations在主键上设置标识种子值,
- iis – 是否需要serviceAutoStartProvider属性来自动启动AS
- ASP.NET会话超时测试
- 如何在ASP.NET中的多个Web应用程序中维护相同的会话ID
- asp.net-mvc – 具有适当的敲除绑定的网格小部件
- asp.net – 使用Active Directory的REST API的授
- asp.net-mvc – Asp.Net MVC Ajax.BeginForm没有
- asp.net – 为什么不调用我的IHttpHandler?
- asp.net-mvc – MVC 4从基本路由中删除“home”
- WCF,ASP.NET成员资格提供者和认证服务
- 如果ASP.NET应用程序的CustomErrors设置为Off,有
- asp.net – 选择性地将CSS应用于gridview中的一行
- 我的ASP.Net代码可以从sendgrid得到确认邮件已发
- asp.net-mvc – 使用ViewModel模式与MVC 2强类型
- asp.net – 在Cookie中存储多个值
