Unity
0
投票
0 回答
219
浏览
如何实现WCF和Unity的集成
第一步:创建一个自定义的InstanceProvider 来处理WCF服务。
InstanceProvider就是用于创建或者提供service instance的。除了提供service instance的创建者或者提供者的身份外,InstanceProvider还用于service instance的释放和回收。所有的IntanceProvider
0
投票
0 回答
198
浏览
Unity Application Block 1.0(7): Lifetime Managers
Unity使用继承于 LifetimeManager 基类的类去控制怎样存放到对象实例的引用和容器怎样销毁这些实例,也就是说Unity基于具体的Lifetime Manager 类去管理对象的创建和销毁。目前Unity中提供两个Lifetime Manager类可供我们直接使用,当然你也可以实现自己的Lifetime Manager类。1. Containe
0
投票
0 回答
108
浏览
Unity Application Block 1.0(6): 杜绝循环引用
下面看看循环引用的几个场景,在使用依赖注入框架时应该尽量避免出现这样的情况:1.通过Constructor Injection生成的对象在构造器的参数中互相引用
public class Class1{ public Class1(Class2 test2) &
0
投票
0 回答
125
浏览
Unity Application Block 1.0(5): 使用BuildUp让已存在对象实例也支持依赖注入
通过Unity容器的BuildUp方法可以让已存在的对象实例也可以支持依赖注入。准备工作先看一些类,下面会用到:
public class Owner{ public string Name { &nbs
0
投票
0 回答
138
浏览
Unity Application Block 1.0(4): 方法调用注入
什么情况下使用Method Call Injection当实例化父对象时也能自动实例化所依赖的对象通过简单的方式使得很容易做到在代码中查看每个类所依赖的项父对象有很多相互之间有关联关系的构造器,导致在调试和维护时很不方便父对象包含有很多参数构造器,特别是参数类型相似的只能通过参数的位置来辨别的隐藏依赖的对象,不作为属性暴露出去通过修改依赖对象的代码
0
投票
0 回答
106
浏览
Unity Application Block 1.0(3): 属性/设值方法注入
什么情况下使用Property (Setter) Injection当实例化父对象时也能自动实例化所依赖的对象通过简单的方式使得很容易做到在代码中查看每个类所依赖的项父对象有很多相互之间有关联关系的构造器,导致在调试和维护时很不方便。父对象包含有很多参数构造器,特别是参数类型相似的只能通过参数的位置来辨别的让用户(将调用这些代码的程序)更方便的看到有哪些对象
0
投票
0 回答
214
浏览
Unity Application Block 1.0(2): 构造子注入
什么情况下使用Constructor Injection
当实例化父对象时也能自动实例化所依赖的对象
通过简单的方式使得很容易做到在代码中查看每个类所依赖的项
父对象的构造器不需要很多相互间有关联关系的构造器
父对象的构造器不需要很多参数
通过不使用属性和方法暴露给调用程序,达到封装字段值以不能被看到的目的
通过修改依赖对象的
0
投票
0 回答
147
浏览
Unity Application Block 1.0(1): 快速开始
Unity Application Block (Unity) 是微软 Patterns & Practices 团队开发的一个轻量级、可扩展的依赖注入容器,有助于构建松散耦合的系统。它支持构造子注入 (Constructor Injection) , 属性/设值方法注入 (Property/Setter Injection) 和方法调用
0
投票
0 回答
142
浏览
深入 Unity 1.x 依赖注入容器之二:初始化 Unity
Unity 初始化主要是注册类型映射并指定其生命周期。
在本文中,我们使用了一个接口 IDialer、一个实现了接口的抽象基类 Dialer,二个继承自 Dialer 的具体类 ButtonTypeDialer 和 FigurePlateDialer 类,以及一个使用 Dialer 的 Telephone 类。
生命周期管理
之所以将生命周期的管理放在
0
投票
0 回答
133
浏览
深入 Unity 1.x 依赖注入容器之一:入门
Unity 适用于可扩展、可插接的应用程序的开发,对于普通的、不要求插接的应用程序的开发反而会增加开发的复杂度。Unity 的使用对性能也会有少量的影响 。
准备
在本系列的文章中,我们假设有一个 Telephone 类,一个 IDialer 接口和一个 Dialer 抽象类。如下代码所示:
Unity 的初始化
Unit