zoukankan      html  css  js  c++  java
  • 23种面向对象的设计模式整理汇总

    设计模式分为三大类:
    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
    行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
    创建型模式:

      工厂方法模式

        一个工厂只生产一种产品

      抽象工厂模式

          产品等级:要看有几种产品

          产品族:要看有几个工厂

      单例模式

      建造者模式(复杂的创建型模式)

        用于构造一个复杂的对象,用户不用知道了解具体的创造细节

      原型模式(最大的缺点是违反了开闭原则,一旦修改必须修改最原来的克隆文件代码)

        使用原型模式来克隆一个对象本身从而克隆出多个与原型对象一摸一样的对象

        浅克隆与深克隆的区别:浅克隆的对象之间他们的地址是相同的,而深克隆所占的变量空间是不同的

    结构型模式 

      适配器模式

        把一个类的接口转变成客户端所期待的另一种接口,从而使原来由于因接口不匹配原因导致无法在一起工作的两个类能够在一起工作。

      装饰器模式、

      代理模式、

      外观模式、

      桥接模式、

      组合模式、

      享元模式。 

    行为型模式 

      策略模式

      模板方法模式

      观察者模式

      

      迭代子模式、

      责任链模式、

      命令模式、

      备忘录模式

      状态模式、

      访问者模式

      

      中介者模式

      解释器模式

    参考视频:https://www.bilibili.com/video/av24176315/

  • 相关阅读:
    Java实现 LeetCode 27 移除元素
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 24 两两交换链表中的节点
    Java实现 LeetCode 24 两两交换链表中的节点
    Java实现 LeetCode 24 两两交换链表中的节点
  • 原文地址:https://www.cnblogs.com/zyt-bg/p/9864835.html
Copyright © 2011-2022 走看看