速记Java八股文—— Java 设计模式篇

前言

分类汇总 20+ 常见的 Java 设计模式篇 经典后端面试题,并对题目进行了精炼总结,旨在帮助大家高效记忆,在面试中游刃有余,不至于陷入词穷的窘境。

Java 设计模式篇


一共有多少种设计模式,分成几类?

一共有23种设计模式。共分为3类。

  1. 创建型模式

    • 单例模式(Singleton):确保一个类只有一个实例,并提供一个全局访问点。

    • 工厂方法模式(Factory Method):定义一个接口用于创建对象,但让子类决定要实例化的类是哪一个。

    • 抽象工厂模式(Abstract Factory):提供一个接口,用于创建一系列相关或依赖对象,而不需要明确指定它们的类。

    • 建造者模式(Builder):将复杂对象的构建与其表示分离,允许通过精确指定构建和表示步骤来构造复杂对象。

    • 原型模式(Prototype):通过复制现有的实例来创建新的实例。

  2. 结构型模式

    • 适配器模式(Adapter):允许将不兼容的接口转换为一个可以使用的兼容接口。

    • 桥接模式(Bridge):分离一个类的行为,使它从它的形式中分离出来,使它们可以独立地变化。

    • 组合模式(Composite):允许你将对象组合成树形结构以表示"部分-整体"的层次结构。

    • 装饰器模式(Decorator):动态地添加另一个对象的功能,而不是创建它们子类的新的类。

    • 外观模式(Facade):为子系统中的一组接口提供一个一致的界面。

    • 享元模式(Flyweight):以共享的方式高效地支持大量细粒度的对象。

    • 代理模式(Proxy):为其他对象提供一个代理或占位符,以控制对这个对象的访问。

  3. 行为型模式

    • 责任链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。

    • 命令模式(Command):将一个请求封装为一个对象,从而可以用不同的请求对客户进行参数化。

    • 解释器模式(Interpreter):定义一个语言的文法,并且建立一个解释器来解释该语言中的句子。

    • 迭代器模式(Iterator):提供一种顺序访问聚合对象元素的方法,而不暴露聚合对象的内部表示。

    • 中介者模式(Mediator):定义一个中介对象来简化其他对象(同事类)之间的交互。

    • 备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

    • 观察者模式(Observer):当对象间存在一对多关系时,则使用观察者模式。一个被观察的对象变化时,所有依赖它的对象都会得到通知并自动更新。

    • 状态模式(State):允许对象在其内部状态改变时改变它的行为。

    • 策略模式(Strategy):定义一系列算法,把它们一个个封装起来,并使它们可以互换。

    • 模板方法模式(Template Method):定义一个操作中算法的骨架,而将一些步骤延迟到子类中。

    • 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。


相关推荐
左左右右左右摇晃6 分钟前
Java笔记——JMM
java·后端·spring
Schengshuo10 分钟前
Spring学习——新建module模块
java·学习·spring
Memory_荒年20 分钟前
Nacos双面超人:注册中心 + 配置中心,一个都不能少!
java·后端·架构
柒.梧.1 小时前
深入浅出理解原子操作:从单核到多核的实现原理
java
Moe4881 小时前
Redis 缓存三大经典问题:穿透、击穿与雪崩
java·后端·面试
MarkHD1 小时前
RPA工程化实践:三种核心设计模式让复杂流程优雅可控
linux·设计模式·rpa
赫瑞1 小时前
Java中的最长公共子序列——LCS
java·开发语言
于先生吖1 小时前
零基础开发国际版同城出行平台 JAVA 顺风车预约系统实战教学
java·开发语言
代码雕刻家1 小时前
2.22.StringBuffer类的常见用法、
java·开发语言
yhole1 小时前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins