zoukankan      html  css  js  c++  java
  • 控制反转依赖倒置通俗解释

    比如你是餐馆老板,你让厨师做鱼,厨师依赖盐或糖这两种调味品,做出来的鱼是甜是咸由厨师控制

    现在你叫厨师做鱼,并且塞给厨师一罐糖,厨师就被你控制了,只能做糖醋鱼

    就很灵活,你想吃红烧鱼的时候,给厨师盐,像参数一样,厨师就产出咸的鱼了

    原来厨师依赖的糖和盐,作为参数传入了,就是依赖注入

    原来是厨师类来控制产出的,变成由你来控制(通过传入依赖的操作类),就是控制反转

    可能原来新来的厨师你都要交代一句,给我做甜的

    后来就不用交代了,你只要给厨师糖就行,不管哪个厨师,做出来的都是甜的

    厨师就很容易替换了

    和厨师交代做甜做咸相当于修改类的内部,客户每次变换口味,都要修改类的内部,给厨师糖相当于传入参数,客户换口味,只要替换给厨师的参数就好,不用改类的代码了

    spring的xml配置文件里,好多都是给某个类配置入参是哪些具体的实现类的,就好像在程序启动的时候就给做鱼的厨师准备好了糖,给做肉的厨师准备好了盐

    如果口味要变,只要改个xml配置就好

    面向接口编程就是,告诉厨师在鱼下锅的时候用调味料(接口),具体用糖还是盐,看传入的参数

    类里面只操作接口,具体接口的实现类是什么,看入参传进来的

    入参传什么,类就实现成什么样

  • 相关阅读:
    halcon中variation_model_single实例注释.
    vc 实现打印功能
    用VisualC++建立SOAP客户端应用(一)
    第六章
    OpenCV】透视变换 Perspective Transformation(续)
    第六章
    OpenCV仿射变换+投射变换+单应性矩阵
    【最新图文教程】WinCE5.0中文模拟器SDK(VS2008)的配置
    Visual Studio 2008 使用 WinCE 5.0 Emulator
    Win32 CMD批处理命令
  • 原文地址:https://www.cnblogs.com/ctxsdhy/p/10608208.html
Copyright © 2011-2022 走看看