1、Ioc功能使用:
1、介绍对象的生命周期
顾名思义 在容器中存在的实例,是可以定义其生命周期的。
Unity提供了 几种自带的 生命周期 管理类(常用的已标红)
ContainerControlledLifetimeManager 所谓的“单例模式”
PerThreadLifetimeManager,每线程生命周期管理器,就是保证每个线程返回同一实例
TransientLifetimeManager,瞬态生命周期,默认情况
ExternallyControlledLifetimeManager 外部控制生命周期管理器
HierarchicalLifetimeManager 分层生命周期管理器(没用过)
PerResolveLifetimeManager,这个生命周期是为了解决循环引用而重复引用的生命周期
2、使用代码注册对象
//对于已经存在的实例: OrderManagement orderManagement=new OrderManagement(); IUnityContainer container = new UnityContainer(); container.RegisterInstance(orderManagement); //使用Ioc内部创建 IUnityContainer container = new UnityContainer(); container.RegisterType<OrderManagement>(); //单例模式演示: IUnityContainer container = new UnityContainer(); container.RegisterType<OrderManagement>(new ContainerControlledLifetimeManager());