JDK中都用了哪些设计模式?

简介: JDK中都用了哪些设计模式?

JDK中使用了多种设计模式,这些设计模式涵盖了创建型、结构型和行为型等不同类型。以下是一些具体的设计模式及其在JDK中的体现:

  1. 创建型模式

    • 单例模式:用于确保类只有一个实例,如java.lang.Runtime#getRuntime()[^4^]。
    • 工厂模式:通过方法返回具体对象,如java.util.Calendar#getInstance()[^5^]。
    • 抽象工厂模式:提供一系列相关或独立对象的接口,如javax.xml.parsers.DocumentBuilderFactory#newInstance()[^1^]。
    • 建造者模式:简化复杂对象的创建,如java.lang.StringBuilder#append()[^1^]。
    • 原型模式:允许对象生成自身的拷贝,如java.lang.Object#clone()[^3^]。
  2. 结构型模式

    • 适配器模式:将一个接口转化为另一个接口,如java.util.Arrays#asList()[^3^]。
    • 桥接模式:将抽象与实现解耦,使两者可以独立变化,如AWT(Abstract Window Toolkit)中的使用[^2^]。
    • 组合模式:让客户端以统一的方式处理单个对象和对象的组合,如javax.swing.JComponent#add(Component)[^3^]。
    • 装饰器模式:动态地给对象添加额外的功能,如java.io.BufferedInputStream(InputStream)[^3^]。
    • 享元模式:通过缓存减少小对象的访问时间,如java.lang.Integer#valueOf(int)[^3^]。
    • 代理模式:用简单对象代替复杂对象或耗时操作,如java.lang.reflect.Proxy[^3^]。
  3. 行为型模式

    • 责任链模式:通过传递请求到链条中的下一个对象来解除对象间的耦合,如java.util.logging.Logger#log()[^4^]。
    • 命令模式:将操作封装到对象内以便存储、传递和执行,如java.lang.Runnable[^4^]。

此外,还有一些其他设计模式也在JDK中得到了应用,如门面模式(为子系统提供统一的接口)、解释器模式(定义语法并解释语句)、迭代器模式(提供统一访问集合元素的方式)等[^2^][^4^]。

这些设计模式在JDK中的应用不仅提高了代码的可读性和可维护性,还为开发者提供了学习和借鉴优秀设计的机会。然而,需要注意的是,设计模式并不是一成不变的规则,而是根据具体需求和场景灵活运用的解决方案。因此,在实际开发中,应根据具体情况选择合适的设计模式。

目录
相关文章
|
4月前
|
设计模式 算法 安全
jdk8中都使用了哪些设计模式?
【8月更文挑战第18天】jdk8中都使用了哪些设计模式?
32 0
|
4月前
|
设计模式 算法 Java
面试官:JDK中都用了哪些设计模式?
面试官:JDK中都用了哪些设计模式?
43 0
|
设计模式 Java 数据安全/隐私保护
设计模式之代理模式(jdk和cglib、手撕源码、自创动态代理) 1
设计模式之代理模式(jdk和cglib、手撕源码、自创动态代理)
91 0
|
设计模式 Java Maven
设计模式之代理模式(jdk和cglib、手撕源码、自创动态代理) 2
设计模式之代理模式(jdk和cglib、手撕源码、自创动态代理)
58 0
|
设计模式 Java 数据库连接
设计模式之组合模式 附JDK ArrayList中的设计模式应用
设计模式之组合模式 附JDK ArrayList中的设计模式应用
99 0
|
设计模式 安全 Java
设计模式之代理模式(含JDK动态代理源码分析)
设计模式之代理模式(含JDK动态代理源码分析)
设计模式之代理模式(含JDK动态代理源码分析)
|
设计模式 Java
设计模式轻松学【七】JDK动态代理和Cglib动态代理
搞清楚静态代理的缺点十分重要,因为动态代理的目的就是为了解决静态代理的缺点。
125 0
设计模式轻松学【七】JDK动态代理和Cglib动态代理
|
设计模式 安全 Java
设计模式系列之组合模式及其在JDK和MyBatis源码中的运用详解
设计模式系列之组合模式及其在JDK和MyBatis源码中的运用详解
设计模式系列之组合模式及其在JDK和MyBatis源码中的运用详解
|
设计模式 前端开发 Java
【设计模式】代理模式之JDK动态代理(案例详解)
案例讲解代理模式之JDK动态代理!
228 0
【设计模式】代理模式之JDK动态代理(案例详解)
|
设计模式 缓存 Java
【设计模式】快速理解装饰者模式,及其在JDK源码中的应用
装饰者模式(Decorator)的定义是:在不必改变原类文件情况下,允许向一个现有的对象添加新的功能。比如一个毛坯房,可以使用灰色去装饰厨房,可以使用白色装饰客厅,但是不管使用多少颜料去装饰这个房间,房子的本质是不会发现变化的。 使用装饰者模式除了可以在不改变原类的前提下装饰对象之外,还可以随意组合各个装饰类,比如有三个装饰类,分别是给原类上红、黄、绿三种颜色。在使用时,可以将任意两种或任意三种装饰类搭配。接下来将会用代码演示上面的这个例子。