⼏乎每⼀种设计模式都被⽤到了 JDK 的源码中,下⾯列举⼀些常⻅的:
• 抽象⼯⼚模式
javax.xml.parsers.DocumentBuilderFactory#newInstance()
javax.xml.transform.TransformerFactory#newInstance()
• 建造者模式
java.lang.StringBuilder#append()
java.lang.StringBuffer#append()
• 原型模式
1java.lang.Object#clone()
• 适配器模式
java.util.Arrays#asList()
java.util.Collections#list()
• 装饰器模式
IO 流的⼦类
java.util.Collections#synchronizedXXX()
• 享元模式
java.lang.Integer#valueOf(int)
• 代理模式
java.lang.reflect.Proxy
javax.inject.Inject
• 责任链模式
java.util.logging.Logger#log()
javax.servlet.Filter#doFilter()