应用框架的设计与实现.net平台--跨领域组件--IOC容器
来源:互联网 发布:色情网页站 源码 wap 编辑:程序博客网 时间:2024/05/29 16:26
首先来了解IOC
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
为了是应用能有更好的扩展性,IOC容器必不可少,这里选用的是Unity 2.0.x作为IOC的容器,如下:
/// <summary>
/// IOC 容器
/// </summary>
public static class Container
{
const string CONTAINER_NAME = "agile";
static Lazy<IUnityContainer> _current;
static UnityConfigurationSection _section;
public static void Setup(string file)
{
var config = ConfigManager.Create(file);
Setup(config);
}
public static void Setup(ConfigManager config)
{
_section = config.GetSection("unity") as UnityConfigurationSection;
}
static Container()
{
_current = new Lazy<IUnityContainer>(Create);
}
/// <summary>
/// 创建一个子容器
/// </summary>
/// <returns></returns>
public static IUnityContainer CreateChildContainer()
{
return Current.CreateChildContainer();
}
/// <summary>
/// 创建一个新的容器
/// </summary>
/// <returns></returns>
public static IUnityContainer CreateContainer()
{
return new UnityContainer();
}
static IUnityContainer Create()
{
var current = new UnityContainer();
try
{
if (_section != null)
current.LoadConfiguration(_section, CONTAINER_NAME);
else
current.LoadConfiguration(CONTAINER_NAME);
}
catch (System.Configuration.ConfigurationErrorsException ce)
{
throw new System.Configuration.ConfigurationErrorsException("Unity配置错误,请确认配置文件中存在Unity配置节", ce);
}
catch (ArgumentNullException)
{
}
catch
{
throw;
}
_section = null;
return current;
}
/// <summary>
/// Unity容器<see cref="Microsoft.Practices.Unity.IUnityContainer"/>
/// </summary>
public static IUnityContainer Current
{
get
{
return _current.Value;
}
}
}
- 应用框架的设计与实现.net平台--跨领域组件--IOC容器
- 应用框架的设计与实现.net平台--内存跨领域组件--内存操作
- 应用框架的设计与实现.net平台--跨领域组件--服务工厂
- .NET平台应用框架设计与实现
- 应用框架的设计与实现.net平台--应用框架解析(框架分层)
- 应用框架的设计与实现.net平台--应用框架解析(框架开技术)
- 应用框架的设计与实现.net平台--应用框架介绍
- 一年级程序员读《应用框架的设计与实现--.NET平台》
- 应用框架的设计与实现——.NET平台(1)
- 应用框架的设计与实现——.NET平台(2)
- 应用框架的设计与实现——.NET平台(3)
- 应用框架的设计与实现——.NET平台(4)
- 在读一本书:《应用框架的设计与实现.NET平台》
- 应用框架的设计与实现——.NET平台4.2代码测试
- 应用框架的设计与实现——.NET平台4.2代码测试问题解决
- 应用框架的设计与实现——.NET平台(4.2 Remoting 客户端激活)
- 应用框架的设计与实现——.NET平台(4.2 Remoting 无配置文件)
- 应用框架的设计与实现——.NET平台(4.3 SAF代码分析)
- YT14——先来练练手(5)
- 使用Eclipse开发Android时整个工程或第三方jar包的正确使用
- Flume-conf总结-5-http_self_to_kafka
- libevent学习五
- scheme 符号求导程序
- 应用框架的设计与实现.net平台--跨领域组件--IOC容器
- UVa #11134 Fabled Rooks (例题8-4)
- 改进的筛素数法
- Linux下查看内存使用情况方法总结
- 对网站网页进行相关的优化,提高在搜索引擎上的排名
- C# Managed DirectX中的Device类
- initramfs对应的init脚本文件,解压后可见
- Python学习:自定义对象
- 排序二叉树的中序遍历