zoukankan      html  css  js  c++  java
  • 创建你自己的依赖注入容器Ioc Container(转) dodo

    最近研究了Ioc,DI 以及一些开源的框架,以下根据自己的理解写一个简单的Ioc容器。我们在使用一个依赖注入容器时一般都是实现三步:

    1. 创建一个Ioc容器;
    2. 依赖关系注入,这里需要一种collection对象存储这种注入关系;
    3. 根据依赖注入获取对象的实例;


    好了,接下来我们可以按照测试驱动开发的模式完成一个简易版本的注入容器:MinContainer



    • 测试代码:


    • 定义接口

    创建容器时定义了一个接口类型的容器,在这个接口中需要包含抽象方法的定义,看这个接口



    • 实现接口

    接下来就是实现这个接口,


    这里需要一个字典类型的集合器来保持注册的对象
    CreateInstance方法是创建对象的实例
    在Resolve方法中GetInstance方法实现如下,主要是从字典中获取实例。


    • 测试
    好了,至此简单的原理级别的代码完成,测试。



    在控制台中进行测试:




    • 小结:

    以上代码只是很简陋的原理实现,需要完善泛型实现,生命周期管理等,不过也很简单,大家可以到codeplex站点下载Unit, Munq等实现框架代码。

  • 相关阅读:
    js事件的一些兼容写法
    js数据劫持 Object.defineProperty() 作用
    Java并发编程(三):ReentrantLock
    Idea使用插件实现逆向工程搭建SpringBoot项目
    Java并发编程(二):volatile关键字
    Java并发编程(一):线程基础知识以及synchronized关键字
    Docker快速上手之部署SpringBoot项目
    JVM基础快速入门篇
    linq 多表分组左连接查询查询统计
    Expression表达式目录树
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/2650910.html
Copyright © 2011-2022 走看看