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

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

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

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

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

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

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

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

    厨师就很容易替换了

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

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

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

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

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

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

  • 相关阅读:
    Java异常面试题
    Quickhit快速击键
    多态and接口
    Java面向对象编程概述
    学生管理系统--分层开发
    类型转换
    文件上传
    ongl(示例3-6 多值类型的数据处理)
    ongl(原始类型和包装类型)
    Interceptor
  • 原文地址:https://www.cnblogs.com/ctxsdhy/p/10608208.html
Copyright © 2011-2022 走看看