您的位置:首页 > 移动开发 > Unity3D

关于读取Unity 配置的方案

2010-11-12 11:16 288 查看
Unity 是常用的Ioc 工具

一般情况下用一个 xml来对Unity 进行配置

常见方案有两种,一种是将配置写入到app.config/web.config

我们假设现有接口 ILogger 实现此接口的类分别为SpecialLogger 和CommonLogger 对象

假设我们的工程项目叫做SSHConsole (生成的assembly 也是 SSHConsole.dll)

<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<alias alias="ILogger" type="SSHConsole.ILogger,SSHConsole" />
<namespace name="SSHConsole"/>
<assembly name="SSHConsole" />

<container>
<register type="ILogger" mapTo="SpecialLogger"/>
</container>
</unity>

之后在Program 里调用的话,十分简单

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data.OleDb;
using System.Data;
using System.Configuration;
using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.Configuration;
namespace SSHConsole
{
class Program
{
static void Main(string[] args)
{
//此处需要手动引用Microsoft.Practices.Unity.Configuration,才能使用LoadConfiguration扩展方法

IUnityContainer container = new UnityContainer().LoadConfiguration();
//获得默认Container容器,从web.config/app.config 配置文件中

var obj = container.Resolve<ILogger>();
//此处解除了实际对象和Program的耦合关系,Program 不需要再引用SpecialLogger

obj.Logging();
Console.ReadLine();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: