JDK - 常用的设计模式

  1. 单例模式

    • Runtime 类:Java 运行时环境是单例的,可以通过 Runtime.getRuntime() 方法获得实例。
    • Calendar 类:Calendar.getInstance() 方法返回的是一个单例的 Calendar 实例。
    • 数据源连接池:连接池的管理通常采用单例模式,例如 DataSource
  2. 工厂模式

    • Boolean 类:Boolean.valueOf(boolean) 方法返回一个缓存的 Boolean 对象。
    • java.util.Calendar 类:使用 Calendar.getInstance() 方法来获取一个 Calendar 实例。
    • java.util.Collection 接口:Collections.emptyList()Collections.singleton() 等工厂方法创建不可变集合。
  3. 观察者模式

    • Swing 和 AWT 中的事件处理:UI 组件的事件监听机制是观察者模式的一个典型应用。
    • Java 观察者模式:java.util.Observerjava.util.Observable 接口。
  4. 装饰器设计模式

    • Java IO 类:InputStreamOutputStream 的各种子类(如 BufferedInputStreamFileInputStream)都使用了装饰器模式来扩展功能。
    • java.io.InputStreamReaderjava.io.OutputStreamWriter:用于字符编码转换的装饰器。
    • java.util.Collections 类:提供了多个静态工厂方法,用于返回不可变集合的装饰器,如 Collections.unmodifiableList()
  5. 策略模式

    • java.util.Comparator 接口:用于排序的策略模式,在集合排序时经常使用。
    • java.util.concurrent.Executor 接口:定义了执行任务的策略,如 ThreadPoolExecutor
  6. 模板方法模式

    • java.util.Collections 类:提供了一系列静态方法,如 sort()binarySearch(),它们使用模板方法来实现通用算法。
  7. 适配器模式

    • java.util.Arrays 类:通过 asList() 方法将数组适配为 List
    • java.io.InputStreamReaderjava.io.OutputStreamWriter:用于将字节流适配为字符流。

你可能感兴趣的:(Java,java,设计模式)