设计模式根据其目的可以分为三大类,分别是创建型模式、结构型模式、行为型模式。

创建型模式:主要关注对象的创建和对象的实例化。它的主要特点是“将对象的创建和使用进行隔离”,降低系统耦合度。使用者不必关心对象创建的过程。

创建性模式包含五种:

  1. 工厂方法模式
  2. 抽象工厂模式
  3. 单例模式
  4. 原型模式
  5. 建造者模式

结构型模式:主要描述类或对象间的组合和布局。类通过继承关系进行结合,对象通过组合或聚合进行结合。增加系统的可复用性。

结构型模式包含7种:

  1. 代理模式
  2. 门面模式
  3. 装饰器模式
  4. 适配器模式
  5. 桥接模式
  6. 享元模式
  7. 组合模式

行为型模式:主要描述多个类或对象怎样相互交互协作,涉及算法和对象的职责分配。增加系统的可维护性。

行为型模式包含11种:

  1. 模板方法模式
  2. 策略模式
  3. 责任链模式
  4. 命令模式
  5. 状态模式
  6. 观察者模式
  7. 中介者模式
  8. 迭代器模式
  9. 访问者模式
  10. 备忘录模式
  11. 解释器模式

设计模式系列:GOF23种设计模式总览相关推荐

  1. 【Java】Java与GoF-23种设计模式

    文章目录 设计模式概述 GoF-23种设计模式 设计模式的分类 设计模式的原则 设计模式在JDK的部分体现 Singleton Factory Abstract factory Adapter Com ...

  2. 【设计模式系列24】GoF23种设计模式总结及软件设计7大原则

    设计模式总结及软件设计七大原则 设计模式系列总览 前言 软件设计7大原则 开闭原则(Open-Closed Principle,OCP) 里氏替换原则(Liskov Substitution Prin ...

  3. GOF23种设计模式在Java中的应用(part 3)

    本文接续:GOF23种设计模式在Java中的应用(part 2) 行为型模式 行为型模式关注系统中对象之间的相互交互.,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责,共有11种模式. ...

  4. GOF23种设计模式在Java中的应用(part 2)

    本文接续part1:GOF23种设计模式在Java中的应用(part 1) 结构型模式 结构型模式: – 核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结 构,用来解决更大的问题. – 分 ...

  5. GOF23种设计模式在Java中的应用(part 1)

    第二部分:GOF23种设计模式在Java中的应用(part 2) 一.GOF来源及简介 1.1 GOF23种设计模式简介 <Design Patterns: Elements of Reusab ...

  6. GOF23种设计模式你知道是什么吗?都有什么作用?

    ​一.GOF简介       GOF是设计模式的经典名著Design Patterns: Elements of Reusable Object-Oriented Software(中译本名为< ...

  7. GOF23种设计模式精解

    创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton( ...

  8. RE|GoF23种设计模式-动态代理

    代理模式 定义 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.符合 ...

  9. 初中级程序员进阶高级程序员,必须要了解的设计模式(45种设计模式)

    设计模式(45种) 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案.这些解决方案是 ...

  10. 一文总结三大设计模式(23种设计模式)

    昨天我们介绍了设计模式的七大原则,今天我们介绍一下设计模式中的三大分类具体23种设计模式. 总述 三大设计模式 三大设计模式分别是:创建型.结构型.行为型三种 创建型模式主要用于描述如何创建对象(5种 ...

最新文章

  1. Nginx+Keepalived实现双机热备
  2. 高兴总结台式故障分析==方案
  3. TrojanDownloader简单分析
  4. boost::hana::reverse_partial用法的测试程序
  5. super函数没有那么简单-super原理剖析
  6. 【蓝桥杯Java_C组·从零开始卷】第五节(一)、BigInteger的使用
  7. 为什么使用了索引,查询还是慢?
  8. 02 理解==与Equals()的区别及用法 1214
  9. 一起助力!为wuhan2020:武汉新型冠状病毒防疫开源信息收集平台尽一份微薄之力!...
  10. 【答疑】对象存储OSS常见问题解答(SDK类2)
  11. 如何给计算机关闭网络连接,win10系统的电脑怎么把网络连接关闭?
  12. uniapp微信支付方案
  13. 主板jrgb是什么_问答:现在的PC主机中有哪些配件支持RGB灯效?
  14. Vivado IP核fifo使用指南
  15. linux系统硬件检测命令,一种Linux系统硬件检测的测试方法及系统与流程
  16. Redis docker安装及redis.conf配置文件解析
  17. フローのパラメータについて
  18. JAVASwing设置字体,字体大小
  19. vlog拍摄与剪辑入门之路
  20. 以太网详解(四)-网口硬件测试指南

热门文章

  1. 软件开发工具与环境 (课程代码:07169)
  2. 深入浅出通信原理2021-03-07
  3. 如何制作带照片的工作证
  4. java计算机毕业设计宠物医院管理源码+数据库+系统+lw文档+部署
  5. 电脑中出现共享打印机连接错误问题(错误0x0000000a)--解决方法
  6. 解决MacOS12.6自带的屏幕录制闪退的问题
  7. python 因果推断_因果推断书Causal inference:What if简介(附:因果推断书单推荐)...
  8. google服务框架 闪退_Google Play闪退怎么办 怎么用RE管理器解决闪退问题
  9. Pandas学习——连接
  10. Python数据分析~Pandas库30分钟快速入门