你的位置:首页 > 软件开发 > ASP.net > 一步一步造个IoC轮子(三):构造基本的IoC容器

一步一步造个IoC轮子(三):构造基本的IoC容器

发布时间:2016-07-01 22:00:07
一步一步造个Ioc轮子目录一步一步造个IoC轮子(一):Ioc是什么一步一步造个IoC轮子(二):详解泛型工厂一步一步造个IoC轮子(三):构造基本的IoC容器定义容器首先,我们来画个大饼,定义好构造函数,注册函数及获取函数这几个最基本的使用方法 /// <summary ...

一步一步造个IoC轮子(三):构造基本的IoC容器

一步一步造个Ioc轮子目录

一步一步造个IoC轮子(一):Ioc是什么一步一步造个IoC轮子(二):详解泛型工厂一步一步造个IoC轮子(三):构造基本的IoC容器

定义容器

首先,我们来画个大饼,定义好构造函数,注册函数及获取函数这几个最基本的使用方法

  /// <summary>  /// IoC容器  /// </summary>  public class Container  {    /// <summary>    /// 构造函数    /// </summary>    /// <param name="cfg">配置文件,默认为启动目录下"cfg.</param>    public Container(get='_blank'>string cfg = "cfg.")    {    }    /// <summary>    /// 注册    /// </summary>    /// <typeparam name="F">接口或父类</typeparam>    /// <typeparam name="S">继承类</typeparam>    /// <param name="name">索引名称,默认为空</param>    public void Register<F, S>(string name = null) where S : F, new() where F : class    {    }    /// <summary>    /// 注册单例    /// </summary>    /// <typeparam name="F">接口或父类</typeparam>    /// <typeparam name="S">继承类</typeparam>    /// <param name="name"></param>    /// <param name="name">索引名称,默认为空</param>    public void RegisterSingleton<F, S>(string name = null) where S : F, new() where F : class    {    }    /// <summary>    /// 注册,对象由传入的Func委托创建    /// </summary>    /// <typeparam name="T">接口或父类</typeparam>    /// <param name="func">对象创建委托</param>    /// <param name="name">索引名称,默认为空</param>    public void Register<T>(Func<T> func, string name = null) where T : class    {    }    /// <summary>    /// 注册单例,对象由传入的Func委托创建    /// </summary>    /// <typeparam name="T">接口或父类</typeparam>    /// <param name="func">对象创建委托</param>    /// <param name="name">索引名称,默认为空</param>    public void RegisterSingleton<T>(Func<T> func, string name = null) where T : class    {    }    /// <summary>    /// 获取    /// </summary>    /// <typeparam name="T">接口或父类</typeparam>    /// <returns>注册的继承类</returns>    public T Resolve<T>() where T : class    {      throw new NotImplementedException();    }    /// <summary>    /// 获取    /// </summary>    /// <typeparam name="T">接口或父类</typeparam>    /// <param name="name">索引名称</param>    /// <returns>注册的继承类</returns>    public T Resolve<T>(string name) where T : class    {      throw new NotImplementedException();    }    /// <summary>    /// 取出当前所有注册的列表    /// </summary>    /// <typeparam name="T">接口或父类</typeparam>    /// <returns>索引名称列表,null表示无索引注册</returns>    public IList<string> GetRegisterList<T>() where T : class    {      throw new NotImplementedException();    }  }

原标题:一步一步造个IoC轮子(三):构造基本的IoC容器

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录