.net – 我应该如何设计一个允许IoC的类库,但不依赖于特定的容器
|
我正在开发一个类库,它将在许多不同的Web应用程序中使用,甚至可能作为开源项目提供.我想在几个方面使用IoC,但我不希望类库的使用者必须使用一个特定的实现.设计此库的最佳方法是什么,以便它具有IoC的优点,但不依赖于一个IoC框架? 具体来说,此库包含依赖于各种服务接口的ASP.NET MVC控制器.我知道我可以创建一个IoCControllerFactory,但我不确定这是否是最好的方法,因为有些用户可能无法或不想在他们的应用程序中使用它只是为了获得我的库提供的功能. 解决方法在构造函数中传递属性以用于简单方案.对于更复杂的情况,使用Ioc容器接口,提供默认实现,但要使其足够简单,以便可以使用任何contianer实现. CommonServiceLocator就是这种界面. 编辑: 我现在推出另一个设计会使CommonServiceLocator变得无用,并且会让你的图书馆用户的整体体验变得更好: 您选择具有内部库要求所需的所有功能的Ioc容器,并将其ILMerge为内部,以便您的库用户不会看到它. 然后,您必须提供两个主要扩展点: 我发了两篇关于这个设计的完整博客文章: IOC Container,Go Hide IOC Container,Go Hider (part 2) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 什么是MVC 5的会员提供商?
- asp.net-mvc-3 – 在MVC 3的AuthorizeAttribute中获取模型数
- asp.net-mvc – 我的模型应该在哪里生活? Web层或数据层?
- 在ASP.NET中读取请求体
- asp.net-mvc – 如何使用Html.DropDownList为默认选项设置值
- ASP.NET AJAX日历扩展程序日期格式
- asp.net – 如何将会话超时设置超过20分钟.
- asp.net-web-api – 如何从WEB API检索邮件?
- ASP.NET压力测试
- asp.net-mvc – T4MVC @ Url.Action(MVC.Controller.Action
- asp.net – 从互联网上打开excel文件会打开一个空
- asp.net-mvc – 实体框架:已经有一个与此命令关
- asp.net-mvc – 使用ASP.NET MVC帮助器方法设置m
- asp.net – 如何在Web应用程序中使用ServiceStac
- asp.net – Ajax上的Identity Server 3 – 401而
- asp.net-mvc – 从referrer获取参数
- wcf – SOAP API HTTPS – 与经典ASP连接
- 有没有办法远程调用ASP.NET开发Web服务器?
- asp.net-mvc – ASP MVC – 有默认内容类型的任何
- asp.net – 如何获取控制器和操作名称在OnAction
