介绍
怎么在。网络中使用统一国际奥委会框架?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
。净国际奥委会统一框架的使用实例,具体内容如下
<强> 1。国际奥委会简介强>
奥委会(控制反转),控制反转
DI(依赖注入),依赖注入
国际奥委会的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。
<强> 2。统一引入强>
<强> 3。创建单例模式容器类强>
using Microsoft.Practices.Unity; using Microsoft.Practices.Unity.Configuration; using 系统; using System.Collections.Generic; using System.Configuration; using 来; using 包含; using System.Threading.Tasks; namespace UnityIocTest { ,///& lt; summary> ,///Unity 国际奥委会单例模式, ,///& lt;/summary> public class UnitySingleton ,{//才能单例 private 才能;static  UnitySingleton 实例;//国际奥委会才能容器 public 才能IUnityContainer 集装箱;//才能获取单例 public 才能static UnitySingleton  getInstance () {才能 ,,if (instance ==, null | |, instance.container ==, null) ,,{ ,,,string configFile =,“Unity.config"; ,,,var fileMap =, new ExeConfigurationFileMap {=,, ExeConfigFilename  configFile }; ,,,//从配置文件中读取配置信息 ,,,Configuration Configuration =, ConfigurationManager.OpenMappedExeConfiguration (ConfigurationUserLevel.None fileMap也); ,,,//获取指定名称的配置节 ,,,UnityConfigurationSection section =, (UnityConfigurationSection) configuration.GetSection (“unity"); ,,,instance =, new UnitySingleton () ,,,{ ,,,,//container =, new UnityContainer () .LoadConfiguration ((UnityConfigurationSection) ConfigurationManager.GetSection (“unity"),“MyContainer") ,,,,container =, new UnityContainer () .LoadConfiguration(节,“MyContainer") ,,,,//container =, new UnityContainer () ,,,}; ,,,//instance.container.RegisterType(); ,,} ,,return 实例; ,,}//国际奥委会才能注入实体 public 才能static T  GetInstanceDAL () {才能 ,,return getInstance () .container.Resolve (); ,,} ,} }
此处是将统一配置配置单独成一个文件,方便管理。
<强> 4。添加国际奥委会相关类
强>
接口类
public interface IExampleClass { ,void DoHelloWord (); }
,具体实现类
public class ExampleClass : IExampleClass ,{ public 才能;void  DoHelloWord () {才能 ,,Console.WriteLine (“Hello 词!“); ,,} 以前,}>实现类扩展
public class DIExampleClass ,{//才能属性注入 (依赖)才能 public 才能IExampleClass example {组,得到,,,} ,, private 才能;IExampleClass  testInject; public 才能;void  DoWork () {才能 ,,example.DoHelloWord (); ,,testInject.DoHelloWord (); ,,}//才能方法注入 (InjectionMethod)才能 public 才能;void 初始化(IExampleClass 实例) {才能 ,,testInject =,实例; ,,} 以前,}><强> 5。添加配置文件统一。配置
强>& lt; ? xml version=?.0“,编码=皍tf-8", ?比; & lt; configuration> ,& lt; configSections> ,& lt; section name=皍nity",类型=癕icrosoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration",/比; ,& lt;/configSections> ,& lt; unity> ,& lt; !——定义类型别名——比; ,& lt; aliases> & lt;才能add 别名=癐ExampleClass",类型=癠nityIocTest.IExampleClass, UnityIocTest",/比; & lt;才能add 别名=癊xampleClass",类型=癠nityIocTest.ExampleClass, UnityIocTest",/比; ,& lt;/aliases> ,& lt; !——容器——比; ,& lt; container name=癕yContainer"比; & lt;才能!映射关系——比; & lt;才能!——& lt; register 类型=癐ExampleClass", mapTo=癊xampleClass"祝辞& lt;/register>——比; null null null null null null null null null null null null null怎么在。网络中使用统一国际奥委会框架