在JDK类库中,开发人员使用了大量设计模式,正因为如此,可以在不修改JDK源码的前提下开发出自己的应用软件。
1.1创建型模式:
(1) 抽象工厂模式(通过创造性的方法来识别工厂本身,这又可以用于创建另一个抽象/接口类型)
抽象工厂模式提供了一个协议来生成一系列的相关或者独立的对象,而不用指定具体对象的类型。它使得应用程序能够和使用的框架的具体实现进行解耦。任何用于创建对象但返回接口或抽象类的,就是抽象工厂模式了。
Java.util.Calendar#getInstance()
java.util.Arrays#asList()
java.util.ResourceBundle#getBundle()
java.NET.URL#openConnection()
java.sql.DriverManager#getConnection()
java.sql.Connection#createStatement()
java.sql.Statement#executeQuery()
java.text.NumberFormat#getInstance()
java.lang.management.ManagementFactory (所有getXXX()方法)
java.nio.charset.Charset#forName()
javax.xml.parsers.DocumentBuilderFactory#newInstance()
javax.xml.transform.TransformerFactory#newInstance()
javax.xml.xpath.XPathFactory#newInstance()
(2) 建造者模式(通过创建方法识别返回实例本身)
用于通过定义一个类来简化复杂对象的创建,该类的目的是构建另一个类的实例。构建器模式还允许实现Fluent接口
java.lang.StringBuilder#append() (非线程安全