zoukankan      html  css  js  c++  java
  • IOC、DI、DIP

    OCP: 开闭原则  对修改关闭  对扩展开放

    1、面向对象主要做俩件事:实例化对象和调用方法(完成业务逻辑)

    2、单纯interface可以统一方法的调用,但是不能统一对象的实例化

    3、只有一段代码中没有new的出现,才能保持代码的相对稳定,才能逐步实现OCP

    要想保持代码的稳定,就不应该实例化对象

    把实例化隔离到其他地方

    实例化对象:以前是用的工厂模式(就是抽象化对象,然后每个对象单独进行实例化)和反射,现在最好的IOC和DI(这俩个不一样)

     JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。(不懂)

    工厂模式+反射不是IOC和DI

    spring IOC也是用的工厂模式+反射思想,但是要更完善

    IOC创建对象只创建一次,然后就放到缓存中

    DIP: 依赖倒置  细节依赖抽象(不重要)

    DI: 依赖注入   面向对象的项目就是对象之间产生相互的作用,对象与对象之间的作用必定会产生依赖,依赖是不可避免的,但是产生依赖的方式多种多样,

    最普通的方法就是new一个对象,这种不好,因为new表示代码不稳定

    最好的是对象由容器来创建,然后把对象注入到使用的对象里

    最常用的是属性注入和构造注入

     

  • 相关阅读:
    解决微信OAuth2.0网页授权回调域名只能设置一个的问题
    js中window.location.search的用法和作用。
    在T-SQL语句中访问远程数据库
    C# 解析 json
    C#后台执行JS
    WhereHows前后端配置文件
    jar打包混淆上传全自动日志
    quartz中设置Job不并发执行
    解决eclipse maven 项目重新下载包这个问题
    Sublime Text 3中文乱码问题解决(最新)
  • 原文地址:https://www.cnblogs.com/zhaobao1830/p/12080167.html
Copyright © 2011-2022 走看看