常用的设计模式分为如下 23 种模式:

Abstract Factory

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

Adapter

将一个类的接口转换成客户希望的另一个接口,使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。

Bridge

将抽象部分与它的实现部分分离,使之可以独立变化。

Chain of Responsibility

为解除请求的发送者和接收者之间的耦合,而使多个对象有机会处理这个请求。将这些请求连成一个链,并沿着这条链传递该请求,直到有个对象处理它。

Command

将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可以取消的操作。

Composite

将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得客户对单个对象和复合对象的使用具有一致性。

Decorator

动态地给一个对象添加一些额外的职责。就扩展功能而言,Decorator模式比生成子类方式更加灵活。

Facade

为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,使得这个子系统更加容易使用。

Factory Method

定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method让一个类的实例化延迟到子类。

Flyweight

运用共享技术有效的支持大量细粒度的对象。

Interpreter

给定一个语言,定义它的文法的一种表示,并定义一个解释器用于解释特定文法。

Iterator

提供一种方法顺序访问一个聚合对象中的各种元素,而无需暴露该对象的内部表示。

Mediator

用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式相互引用,从而使得耦合松散,可以独立改变相互之间的交互。

Memento

不破坏封装的前提下,捕获对象的内部状态,并在该对象之外保存这个状态。

Observer

定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生变化时依赖于它的所有的对象都得到通知和刷新。

Prototype

用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。

Proxy

为其他对象提供一个代理以控制对这个对象的访问。

Singleton

保证一个类仅有一个实例,并提供一个访问它的全局点。

State

允许一个对象再内部状态改变的时候改变它的行为。对象看起来似乎修改了所属的类。

Strategy

定义一系列的算法,把他们封装起来,并可以相互替换,使算法独立于客户。

Template Method

定义一个操作中的算法骨架,而将这些算法的具体实现的代码延迟到子类中完成。

Visitor

标识一个作用于某对象结构中的各元素的操作,在不改变各元素的类的前提下定义作用于这个元素的新操作。

Java 常见设计模式相关推荐

  1. ☀️一张思维图带大家了解Java常见设计模式☀️《❤️记得收藏❤️》

    ☀️一张思维图带大家了解Java常见设计模式☀️<❤️记得收藏❤️> 目录

  2. 荐:Java常见设计模式

    设计模式的原则: 1.开闭原则 对扩展开放,对修改关闭. 2.依赖倒置原则 通过抽象使各个类或者模块不相互影响,实现松耦合. 3.单一职责原则 一个类.接口.方法只做一件事. 4.接口隔离原则 尽量保 ...

  3. Java常见设计模式详解

    设计模式的类型 创建型模式–>对象怎么来 结构型模式–>对象和谁有关 行为型模式–>对象与对象在干什么 序号 模式 & 描述 包括 1 创建型模式 这些设计模式提供了一种在创 ...

  4. Java 常见设计模式 - 装饰模式

    装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式. 装饰(Decorator)模式的使用场景: 需要扩展 ...

  5. java常见的设计模式

    在了解java常见的设计模式之前,我们要了解三个问题, 1.为什么要了解设计模式? 2.这些设计模式的是根据什么原则来设计的? 3.有哪些常见的设计模式? 为什么要了解设计模式? 因为设计模式代表了最 ...

  6. java面试常见设计模式

    java面试常见设计模式 看这里,动画描述很好 创建型模式 工厂方法模式 目的 结构 场景 优缺点 示例代码 button factory Demo.java: 客户端代码 抽象工厂模式 目的 结构 ...

  7. Java 10种常见设计模式UML图

    Java 10种常见设计模式UML图 简单工厂模式(不属于23种设计模式) 工厂方法模式 单例 模式(静态内部类方式 IODH) 适配器模式 装饰者模式 门面模式 代理模式(静态代理) 观察者模式 策 ...

  8. java策略设计模式_Java中的策略设计模式

    java策略设计模式 策略设计模式是一种行为模式,其中我们有多种算法/策略来完成一项任务,所使用的算法/策略留给客户选择. 各种算法选项封装在单独的类中. 在本教程中,我们将学习在Java中实现策略设 ...

  9. Java常见面试知识点:继承、接口、多态、代码块

    问题:Java常见面试知识点:继承.接口.多态.代码块 答案: 1.继承 继承中构造方法的访问特点 子类中所有的构造方法默认都会访问父类中无参的构造方法 为什么? • 子类在初始化的时候,有可能会使用 ...

最新文章

  1. 2022-2028年中国汽车制动器行业投资分析及前景预测报告
  2. php ob_flush无效,php ob_flush,flush在ie中缓冲无效的解决方法
  3. Attach Volume 操作(Part II) - 每天5分钟玩转 OpenStack(54)
  4. iOS Block实现探究
  5. 不务正业:说说工作内、技术外的那些事(工作如“围城”)
  6. clickhouse原理解析与应用实践 pdf_阿里专家分享内部绝密RocketMQ核心原理与最佳实践PDF...
  7. gen阻抗 pcie_COM载板设计之一: PCB的设计
  8. 客户价值分析—RFM模型及变形
  9. Linux man 命令后面的圆括号的意义
  10. Hadoop开发环境搭建之Eclipse配置
  11. 【STM32F103C8T6】 TTL转usb下载程序
  12. Idea2021激活码
  13. 软件及系统开发项目可行性分析报告-样例
  14. java项目-第150期ssm网络视频播放器-java毕业设计_计算机毕业设计
  15. 云服务器1:云服务器能干什么
  16. Java 线程的状态
  17. SMD电容极性的区分
  18. 思维导图 基础篇(18)TBLI 考试内容 评分标准
  19. 解决GitHub连不上的问题fatal: unable to access ‘https://github.com/..’: Failed to connect to github.com port
  20. labelme jason文件批处理

热门文章

  1. 人脸对齐算法常用评价标准总结
  2. CSS预处理器——Sass、LESS和Stylus区别及联系
  3. 【目标】新学期计划与目标
  4. minisys-单周期cpu(一) 数据通路设计
  5. php相同数据合并单元格,jQuery_基于jQuery的合并表格中相同文本的相邻单元格的代码,ONE 已经生成的数据表格大致 - phpStudy...
  6. Power Plug Categories A to Categories O
  7. 多径信道下通过LMS均衡算法提高通信质量——详细版
  8. AsyncTask简介
  9. oracle截取日期函数
  10. mac如何查看是否安装了git?