[Prism]Composite Application Guidance for WPF(5)——依赖注入容器

                     [Prism]Composite Application Guidance for WPF(5)——依赖注入容器

                                    周银辉

 

依赖注入容器和Prism的基础服务已经在本系列随笔中提到过很多次,今天将其分离出来专门说一说

 

1, 为什么要使用依赖注入容器

我们知道, 在Composite Application中各个模块之间是松耦合的关系, 也就是在设计的时候尽可能地减少模块间的依赖, 但无论如何从业务角度讲, 他们之间总还是要相互通信与合作的. 所以依赖注入容器在这其中扮演了一个桥梁般的角色. 比如当创建某一个组件实例的时候, 其依赖于另外的一个组件或服务, 此时依赖注入容器会将其需要的信息"注入(Injection)"进去, 采用注入的方式就避免了直接引用之间的耦合.除此之外, 使用依赖注入容器还有以下几方面的好处:

组件(Component)不必自己去定位其依赖项和维护依赖项的生命周期

替换组件的依赖项的具体实现时不会影响到组件代码

由于依赖项比较容易Mock,所以组件变得更易测

由于系统所需要的新的服务很容易被添加到容器中,系统维护难度也降低了

 

2, Prism的依赖注入容器

打开Composite Application Library(CAL)的源代码, 我们似乎没有找到一个依赖注入容器的实现,而是找到了一个依赖注入容器外观接口IContainerFacade,其利用了外观模式来高层抽象了一个依赖注入容器的最最基本的功能"解析"(Resolve).

    /// <summary>
    /// 定义一个简单的,被 Composite Application Library所

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值