微软企业库4.1学习笔记(五)对象创建和依赖注入方法
2010-04-14 09:17 Virus-BeautyCode 阅读(4272) 评论(6) 编辑 收藏 举报企业库4.0和4.1的主要改进是加入了全新的,而且很容易使用的对象创建方式,包括其他的依赖对象。这个功能在企业库的Unity模块中通过依赖注入暴露,它使用了下面这些常用的设计模式。
- Dependency Injection依赖注入
- Inversion of Control(IoC)反转控制
- Service Locator服务定位
- Service Container服务容器
- Factory工厂模式
- Builder创建者模式
一、企业库中的对象创建和依赖注入
开始之初,企业库中的应用模块,核心模块、配置系统,用户自己的一个用,一直都使用微软Patterns & Practices 团队的ObjectBuilder系统创建对象,包括了Singleton实例。
ObjectBuiler实现了前面列出来的很多模式,但是对于大多数程序员来说,它不是一个很容易使用的工具。使用它需要开发者拥有显著的开发知识和开发时间来认识到它的好处。因此,4.1的企业库在ObjectBuilder的基础上推出了一个轻量级的方法,提供了前面提到所有模式的实现。
新的依赖注入容器暴露的接口比较简单,它还提供扩展,方便开发者根据需要改变它的行为,而且开发者可以将它作为一个独立的容器或者是依赖注入框架在自己的系统中使用。它允许开发者使用很现代的方式,例如构造函数、属性和注入方法;相关对象的依赖注入;容器中的类型和接口映射;一些简单的配置。另外,开发者可以用它暴露的一些API直接和容器进行交互,这些对于开发者将依赖注入容器作为单独依赖注入框架使用,或者是使用第三方的依赖注入框架都很有帮助。
二、Unity模块
企业库中的依赖注入方法通过一个全新的,叫做Unity的模块暴露。这个模块实现了容器方式,和ObjectBuilder一起使用,包括了需要支持的程序集对象创建功能,依赖对象和服务的实例创建,对象创建时候的属性输入和方法调用。
你可以以多种方式来使用依赖注入容器,你可以以下面的方式使用Unity模块:
- 通过各个模块和核心模块中提供的标准方法创建企业库所需对象。
- 获取singleton实例的引用。
- 对现有的对象使用依赖注入。
- 创建自定义的对象,通常还需要创建和他们相关的对象。
- 为接口和实现类提供映射
- 使用容器扩展可以扩展功能,也可以改变行为
- 使用第三方的依赖注入框架,例如Castle,Windsor,Spring,在Unity容器中创建任何类型的对象。
未完待续。。。。。。。。。。。。。。。。。。。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2009-04-14 通用权限管理设计