• 依赖注入容器Unity介绍 dodo


    Unity是微软团队开发的一个轻量级,可扩展的依赖注入容器,为松散耦合应用程序提供了很好的解决方案,支持构造器注入,属性注入,方法注入。


    同样根据控制反转IOC与依赖注入DI中的例子


    Unity的实现如下:


    1、创建容器

    2、注册映射

    a) 代码方式注册映射:

    RegisterType有以下几个重载方法:
    RegisterType<
    TFrom, TTo>( )
    RegisterType<
    TFrom, TTo>(LifetimeManager lifetime)
    RegisterType<
    TFrom, TTo>(String name)
    RegisterType<
    TFrom, TTo>(String name, LifetimeManager lifetime)
    RegisterType<
    T>(LifetimeManager lifetime)
    RegisterType<
    T>(String name, LifetimeManager lifetime)
    RegisterType(Type
    from, Type to)
    RegisterType(Type
    from, Type to, String name)
    RegisterType(Type
    from, Type to, LifetimeManager lifetime)
    RegisterType(Type
    from, Type to, String name, LifetimeManager lifetime)
    RegisterType(Type
    t, LifetimeManager lifetime)
    RegisterType(Type
    t, String name, LifetimeManager lifetime)


    b) 通过配置方式注册映射:

    配置方式完整代码:


    3、获取对象实例


    可以通过方法ResolveAll来得到所有注册对象的实例:

    结果:




    参考文档:

    http://unity.codeplex.com

  • 相关阅读:
    BZOJ_4383_[POI2015]Pustynia_线段树优化建图+拓扑排序
    BZOJ_1492_[NOI2007]货币兑换Cash_CDQ分治+斜率优化
    BZOJ_3073_[Pa2011]Journeys_线段树优化建图+BFS
    BZOJ_2726_[SDOI2012]任务安排_斜率优化+二分
    BZOJ_1406_[AHOI2007]密码箱_枚举+数学
    哈希表(Hash table)
    算法分析方法之平摊分析(Amotized Analysis)
    数据库视图功能的使用
    不基于比较的排序算法:Counting-sort和Radix-sort
    QuickSort(快速排序)的JAVA实现
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/2650918.html
Copyright © 2020-2023  润新知