`

JDK中使用的设计模式

阅读更多
1.抽象工厂模式
   实例1:
  public static Calendar getInstance()
    {
        Calendar cal = createCalendar(TimeZone.getDefaultRef(),Locale.getDefault());
cal.sharedZone = true;
return cal;
    }
   Calendar类将构造方法进行私有话,这样获取对象实例只能通过getInstance()方法了。每次访问该方法返回的是一个新生成的对象。
有意思的是Locale.getDefault()也是一个利用了工厂模式,而且是将单例模式和工厂模式的结构来生成一个单例对象。
   实例2:
    public static Connection getConnection(String url,
String user, String password) throws SQLException {
        java.util.Properties info = new java.util.Properties();

        // Gets the classloader of the code that called this method, may
// be null.
ClassLoader callerCL = DriverManager.getCallerClassLoader();

if (user != null) {
    info.put("user", user);
}
if (password != null) {
    info.put("password", password);
}

        return (getConnection(url, info, callerCL));
    }
    使用JDBC的人都调用过该方法。该方法也是典型工厂模式。
     因为该方法是对外的入口,所以将该方法生命为public的。虽然该类拥有很多构造方法,但是最后返回实例的都是依靠getConnection(url, info, callerCL)方法,因为他会将传入的参数都封装到properties对象中。最后再调用该方法。做到了很好的封装与代码复用。而且getConnection(url, info, callerCL)也被设计成是是有的方法,就能保住该方法只给其余构造方法进行调用了。
2.单例模式
  实例:
   private static Runtime currentRuntime = new Runtime();
   public static Runtime getRuntime() {
return currentRuntime;
  }
  Runtime是一个典型的单例模式,而且是懒汉式的单例模式。
3.模版模式
  实例:
  OutputStream类的
   public abstract void write(int b) throws IOException;
  OutputStream的写操作交给了子类去实现,例如FileOutputStream类会调用native的write方法。
public native void write(int b) throws IOException;注意native方法没有实现体。
4.策略模式
TreeMap类的
public TreeMap(Comparator<? super K> comparator) {
        this.comparator = comparator;
}
comparator类是一个接口,里面只包含比较两个对象的方法。
treemap会根据传入的自定义比较器的compare方法判断插入的值应该存放的位置。
即传入的参数对象可能有不同的实现类
5.命令模式
Runnable接口
Runnable是一个典型的命令模式,即每个线程都需要执行不同的操作,因此定义一个命令接口,即Runnable接口。然后使用时需要将Runnable对象传入给Thread类中,Thread就相当于一个调用者(机箱),然后用户对thread对像进行调用就可以执行runnable中定义的操作了。
分享到:
评论

相关推荐

    JDK中的设计模式

    ### JDK中的设计模式 设计模式是在软件开发过程中总结出来的最佳实践,它们可以帮助开发者解决常见的问题并提高代码的可维护性和可扩展性。Java Development Kit (JDK) 中包含了许多设计模式的应用实例,这些实例...

    JAVA设计模式在JDK中的应用

    ### JAVA设计模式在JDK中的应用 #### 一、引言 在软件开发过程中,设计模式作为一套被广泛接受的解决方案,能够帮助开发者解决常见的设计问题。Java作为一门流行的编程语言,其标准库(JDK)中巧妙地融入了多种设计...

    JDK中的23个设计模式简介

    JDK 中的 23 个设计模式简介 在 Java 开发领域,设计模式是一个非常重要的概念,它能够帮助开发者写出更加灵活...本文只是对 JDK 中 23 个经典设计模式的简单介绍,希望能够帮助开发者更好地理解和使用这些设计模式。

    jdk中设计模式

    【设计模式概述】 设计模式是软件工程中经过实践...学习JDK中的设计模式可以让我们更好地理解Java库的设计思想,提升编程技巧,同时也能帮助我们更有效地运用这些模式到自己的项目中,编写出高质量、易于维护的代码。

    设计模式在JDK的中的应用,PPT资源

    设计模式在JDK中的应用课设--PPT资源 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的结构加以...

    JDK中有关23个经典设计模式的示例

    这些模式被广泛应用于Java等面向对象语言中,JDK(Java Development Kit)本身就是一个很好的实践场所,因为它包含了大量使用这些设计模式的例子。下面我们将详细探讨JDK中的23个设计模式及其应用。 1. 单例模式...

    设计模式在JDK中的应用 (背景、UML结构、角色、职责)

    设计模式在JDK中的应用课设完整报告,Word文档 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的...

    设计模式实战、jdk源码|simple-demo.zip

    总的来说,设计模式和JDK源码的结合学习,不仅能够帮助我们理解设计模式的理论知识,还能让我们看到这些模式在实际系统中的应用,从而提升我们的编程能力和软件设计水平。在日常开发中,我们应该积极应用设计模式,...

    jdk17中文说明文档

    6. **Java编程最佳实践:** 如异常处理策略、设计模式、代码规范等。 7. **开发工具:** Javadoc用于生成API文档,Javac是Java编译器,JConsole用于监视JVM性能,JProfiler进行深入性能分析等。 8. **新特性实验...

    java设计模式(chm)和jdk中文api文档(chm)

    介绍java二十三种设计模式,包括模式的描述,适用性,模式的组成部分,并附带有简单的例子和类图,目的是为了让读者了解二十三种设计模式,并能方便的查阅各种设计模式的用法及注意点,希望对大家有所帮助。...

    JDK1.8 中文API手册

    5. **Optional类**:Optional类是用来防止空指针异常的一种设计模式。它代表一个值存在或不存在,强制程序员显式处理缺失值的情况,提高了代码的健壮性。 6. **Date与Time API的改进**:JDK1.8对日期和时间API进行...

    jdk工具介绍JVM垃圾回收23种设计模式

    本主题将深入探讨JDK中的重要工具、JVM(Java Virtual Machine)的垃圾回收机制以及23种经典的设计模式。 首先,JDK工具介绍: 1. `javac`:这是Java的编译器,用于将源代码编译成可执行的字节码。 2. `java`:这个...

    小D深入浅出设计模式+框架源码剖析实战

    │ 3.2代码实战-单例设计模式中的懒汉实现方式.mp4 │ 3.4单例模式中的饿汉实现和选择问题.mp4 │ 3.5JDK源码里面的单例设计模式.mp4 │ 4.2电商支付应用案例-简单工厂模式实践指南.mp4 │ 5.1-创建型设计模式-...

    《Java设计模式》课后习题参考答案-刘伟(20180723).pdf

    JDK中许多类和方法都使用了设计模式,这些模式的应用帮助实现了代码的高内聚、低耦合,提高了代码的可维护性和扩展性。下面介绍几种常见的设计模式及其在JDK中的应用实例: a) 抽象工厂模式(AbstractFactory) ...

    jdk8帮助文档(jdk8_API)

    JDK 8的Optional类也是一个重要的设计模式,它帮助解决null引用的问题,鼓励更清晰的代码结构。Optional对象表示可能为null的值,通过`isPresent()`、`get()`、`orElse()`等方法,可以避免空指针异常,使代码更具...

    jdk1.8中文文档

    JDK 1.8引入了Lambda表达式,这是一种简洁的编写匿名函数的方式,它可以作为方法参数,或者在没有名字的方法中使用。Lambda表达式使代码更加简洁,减少了回调地狱的问题,提高了代码的可读性。 2. **函数式接口** ...

    JDK中文帮助文档.rar

    对于开发者来说,不断学习和探索新的技术资源是提升技能的关键,这个链接可能会引导你找到更多的Java或编程相关的学习资料,比如框架教程、设计模式书籍等。 3. `E书说明.txt`:这是一个文本文件,通常用于提供关于...

    阿里10年工作经验大牛设计模式金牌讲解(带案例)

    阿里10年工作经验大牛讲解设计模式(带案例) 设计模式综合案例 jdk中的设计模式 备忘录模式 策略模式 访问者模式 解释器模式 命令模式 调停者模式 状态模式 多人联机射击游戏在实际开发中综合使用设计模式

    设计模式大作业-蛋糕预定系统实验报告.pdf

    - `DiscountStyle`接口及其几个实现类(`DiscountStyleOne`、`DiscountStyleTwo`、`DiscountStyleThree`)的代码片段,显示了设计模式中接口和实现类的用法,这里主要体现了策略模式,允许在运行时选择算法的行为。...

    day40 设计模式、jdk8新特性

    day40 设计模式、jdk8新特性

Global site tag (gtag.js) - Google Analytics