设计模式总结

    技术2022-07-10  148

    设计模式: 管理变化,提高复用

    重构技法: 静态—>动态,早绑定—>晚绑定,继承—>组合,紧耦合—>松耦合,编译时依赖—>运行时依赖

    关注抽象类和接口,良好的设计是演化过来的

    利用好多态 变化;关注稳定点和变化点

    组件协作模式

    1. 模版方法(必用)
    2. 策略模式
    3. 观察者模式(必用)

    单一职责模式

    4.装饰者模式

    绝大多数设计模式 就是编译时候复用,变化 需求的变化用多态放到运行时!

    5.桥模式

    其实就是那个pojo 包装类,把一些类包装到另一个类里面!

    对象创建模式

    6 工厂模式

    一个对象的类型往往应该抽象成抽象类或者接口 ,如果是具体类 那么没有变化,要盯住这个变化!抽象基类 面向抽象接口编程 最显著的就是 变量要声明成抽象基类;应该依赖抽象 而不是依赖实现细节,编译时依赖

    7.抽象工厂

    解决稳定中有变化!

    8.原型模式 不太懂

    克隆原型,得到新对象

    9.builder构建器模式 建造者模式

    和模版方法模式很相似!!

    单例性能模式

    10 单例模式 解决性能
    11 享元模式

    运用共享技术解决大粒度对象 java里的string, 线程池 其实就是线程池的那种方式,用一个map 如果有就返回 没有就创建并且加入

    接口隔离模式(对接口 转换 隔离 的实现)

    间接思维很重要!添加一层间接的稳定接口

    12 门面模式(外观模式)

    高内聚松耦合,系统内和系统外

    13 代理模式

    不能直接去调用那个类,由于某些原因,分布式 或者安全原因,必须包装起来,用一个代理接口去访问; 增加一层间接层; 两个对象,本来可以互相依赖的,但是由于性能关系,必须拆开

    14 适配器模式

    将一个老的接口转成一个新的接口,希望复用一些现有的类,但是接口又与复用环境要求不一致的情况; 老接口和新接口不匹配,对老接口进行转换,建立一个类,继承新接口,然后组合接口,完成转换逻辑

    15 中介者模式

    用一个中介对象去封装一系列的多个对象交互(封装变化),对象出现复杂的引用关系。 编译时依赖—>运行时依赖,可以独立他们的交互

    状态变化模式

    16 状态模式

    状态改变,行为也会随之改变; 和策略模式很像 设计模式之间会越来越像!

    17 备忘录模式(简单)

    对象在转换过程中,可能需要回溯到原来的状态,捕获内部状态 这个现在用的不多,核心是信息隐藏,现在一般会使用序列化这种效率比较高的方式实现

    数据结构模式

    18.组合模式

    组合成树形结构,使得用户对单个对象和组合对象的处理具有一致性,稳定。

    19 迭代器模式

    外部客户透明的访问集合里面的对象,且不暴露对象内部表示 多态 面向对象 运行时多态性能低于编译时多态

    20 责任链模式

    一个请求可能被多个对象接受,最终只有一个处理,避免发送者和接受者过多耦合,将对象连成一条线进行处理,也就是一个链表,沿着链来处理请求,直到能处理这个问题位置

    行为变化模式

    21 命令模式

    将行为对象化,可以对行为命令进行组合,通过运行时的多态,java里面应用很广!

    22 访问器模式 (没懂)

    领域规则模式

    23 解析器模式
    Processed: 0.042, SQL: 9