zoukankan      html  css  js  c++  java
  • 【Java高级工程师蜕变之路】008 Spring核心思想

    IOC

    ioc不是spring提出的,spring只是ioc的一个实现

    什么ioc

    ioc(inversion of control)控制反转,他是一个技术思想,不是技术实现

    ioc是做什么的

    java领域对象的创建、管理问题

    传统开发方式:类A依赖类B,在类中创建一个类B的对象

    IOC开发方式:不需要创建对象,由容器帮忙创建对象并返回,需要哪个对象告诉IOC容器,由容器返回即可

    利弊:失去了创建对象的权利,但是同时也得到了不需要管理对象创建、依赖等一系列好处

    为什么叫控制反转

    控制:对象的创建管理和实例化的权利

    反转:控制权交给IOC容器了

    IOC解决了什么问题

    ioc解决了对象之间的耦合问题

    IOC和DI的区别

    DI:Dependency Injection 依赖注入

    IOC和DI描述的是同一件事情(对象实例化以及依赖关系管理),角度不同

    IOC站在对象角度,对象实例化和管理法人权利交给了容器

    DI是站在容器的角度,容器会把对象依赖的其他对象注入

    AOP

    什么是AOP

    Aspect oriented programming 面向切面编程

    AOP是OOP的眼神

    OOP三大特征:封装、继承、多态

    OOP是垂直纵向继承体系

    OOP可以解决大部分情况下的代码重复问题,但是有些问题解决不了

    横切逻辑代码的问题

    • 代码重复

    • 横切代码和逻辑代码混合在一起,不利于维护

      AOP可以解决

    AOP解决了什么问题

    在不改变原有代码逻辑的情况下,增强横切逻辑代码,根本上解耦合,解决代码重复问题

    为什么叫面向切面编程

    切:横切逻辑,原有逻辑代码不能动,只能操作横切逻辑

    面:横切逻影响很多方法,每个方法是一个点,多个点构成面

  • 相关阅读:
    PAT 1025. 反转链表 (25)
    PAT 1024. 科学计数法 (20)
    PAT 1076. Forwards on Weibo (30)
    C++——cout输出小数点后指定位数
    PTA 06-图3 六度空间 (30分)
    PTA 06-图2 Saving James Bond
    PTA
    浙大PTA
    浙大PTA
    随机密码生成
  • 原文地址:https://www.cnblogs.com/tangyouwei/p/15659480.html
Copyright © 2011-2022 走看看