千家信息网

JDK 源码 阅读 - 2 - 设计模式 - 创建型模式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,A.创建型模式抽象工厂(Abstract Factory)javax.xml.parsers.DocumentBuilderFactoryDocumentBuilderFactory通过Factory
千家信息网最后更新 2026年11月03日JDK 源码 阅读 - 2 - 设计模式 - 创建型模式

A.创建型模式

  1. 抽象工厂(Abstract Factory)

    javax.xml.parsers.DocumentBuilderFactory

DocumentBuilderFactory通过FactoryFinder实例化具体的Factory.


使用例子:DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();Document doc = docBuilder.parse (new File("xxx.xml"));


javax.xml.transform.TransformerFactory

 使用例子: StreamSource source = new StreamSource(...); StreamSource stylesource = new StreamSource(...); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(stylesource); StreamResult result = new StreamResult(System.out); transformer.transform(source, result)

javax.xml.xpath.XPathFactory

The structure is almost the same as the previous two.

XPathFactory xpathFactory = XPathFactory.newInstance();XPath xpath = xpathFactory.newXPath();XPathExpression expr = xpath.compile(XPATH_EXPRESSION_STRING);Object result = expr.evaluate(Object item, QName returnType);



2.生成器模式(Builder)

java.lang.Appendable

java.lang.StringBuilder#append()

java.lang.StringBuffer#append()

这里我们看到状态的转换操作都会返回原来的类型的对象,这样就可以构建生成链。


java.nio.ByteBuffer#put() (CharBuffer, ShortBuffer, IntBuffer, LongBuffer, FloatBuffer 还有 DoubleBuffer)

参见上例。


3.工厂方法(Factory method)

java.util.Calendar#getInstance()

工厂方法的构造方法就在所要生成的类型上。 这个抽象工厂有很大不同。

其它的可参见:

java.util.ResourceBundle#getBundle()

java.text.NumberFormat#getInstance()

java.nio.charset.Charset#forName()

java.net.URLStreamHandlerFactory#createURLStreamHandler(String)

4.原型模式(Prototye)

  • java.lang.Object#clone()


5.单例模式(Singleton)

java.lang.Runtime#getRuntime()

java.awt.Desktop#getDesktop()




模式 工厂 方法 生成 例子 类型 不同 很大 原型 实例 对象 状态 生成器 A. 源码 设计模式 设计 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 广州为想互联网科技有限公司 互联网通讯科技 深圳科技互联网 互联网金融 金融科技 互联网金融 科技金融 深圳天众互联网科技公司 互联网科技英文翻译 成都狮子座互联网科技 金融科技和互联网金融 中盈科技互联网信息有限公司 互联网科技博主是什么意思 温州喔噻互联网科技有限公司 恒银科技与互联网金融 互联网金融科技元年 山东星卡互联网科技有限公司官网 互联网营销推广黑科技 互联网科技包装股份有限公司上市 云南互联网科技学费 平安好医生打造互联网科技医疗 互联网下的科技发展 镁科技互联网资讯平台 承德科技产业互联网发展 互联网时代科技改变生活 知域互联网科技有限公司大骗子 辽宁互联网新科技 科技赋能视角下互联网保险发展 郑州欣桑互联网科技有限公司 数字互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司
0