zoukankan      html  css  js  c++  java
  • ioc依赖注入的原则

     

     

    一、.依赖就是有联系,有地方使用到他就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,那么你可以从项目中删掉它,因为没有一个地方可以依赖它。

     

    二、依赖倒置

     

    需求增加了,需要不同的播放器,播放不同的文件,我们需要抽象出来,减少耦合。

    耦合关系就是依赖关系,如果依赖关系太复杂,牵一发动全身,很难维护,依赖关系少,耦合关系就降低,系统就越稳定,所以我们要减少依赖关系。

     

    上层模块不能依赖于下层模块,它们共同依赖于一个抽象。

    抽象不能依赖于具象,具象依赖于抽象。

     

    1.上层是使用者,下层是被使用者,这就导致了结果是上层依赖于下层,下层变动了,自然就会影响到了上层,导致系统不稳定,牵一发动全身。减少依赖,就是上层下层都去依赖另一个抽象,这个抽象比较稳定,整个就来说比较稳定。

     

    2.面向对象编程时面向抽象或者面向接口编程时,抽象一般比较稳定,实现抽象的具体肯定要依赖抽象,抽象不应该依赖具体,应该依赖抽象

     

    三、控制反转

     

     

    现实生活中,是具体播放器和具体的媒体文件没有关系,你给它一个mp3文件他可以播放,给它一个mp4文件它可以播放,你删掉文件,播放器照样在,具体什么播放器什么文件,控制权全部是我们自己用。

     

    我们可以通过反射来创建,把具体的文件写在配置文件里,这时客户端的代码不用变了只需要改变配置文件就好,稳定性又有了提高。

     

    四、依赖注入

    上面说的控制反转,是一个思想概念,但是也要具体实现,上面的配置文件也是一种执行方式。依赖具体的注入方式。

     

     

     

     

  • 相关阅读:
    AndroidUI组件之ListView小技巧
    iframe属性參数
    Applet 数字签名技术全然攻略
    SoftReference
    递归算法浅谈
    VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭
    创建新的Cocos2dx 3.0项目并解决一些编译问题
    ORACLE触发器具体解释
    SRM 624 D2L3: GameOfSegments, 博弈论,Sprague–Grundy theorem,Nimber
    cidaemon.exe进程cpu占用率高及关闭cidaemon.exe进程方法
  • 原文地址:https://www.cnblogs.com/qdlj/p/7599318.html
Copyright © 2011-2022 走看看