-
设计模式
-
创建模式
-
Singleton(单例)
- Runtime.getRuntime
- NumberFormat
-
Factory(工厂)
- Integer.valueOf
- Class.forName
-
Factory Method(工厂方法)
-
Collection.iterator
- ArrayList
- AbstractList$Itr
- LinkedList
- AbstractList$ListItr
-
Abstract Factory(抽象工厂)
- java.sql包
- Java Look & Feel:UIManager(swing外观)
-
Builder(构造者)
- DocumentBuilder(org.w3c.dom)
-
Prototype(原型)
- Object.clone
- Cloneable
-
结构模式
-
Adapter(适配器)
- java.io.InputStreamReader(InputStream)
- java.io.OutputStreamWriter(OutputStream)
-
Composite(组合)
- org.w3c.dom
-
javax.swing.JComponent#add(Component)
- JPanel
- JLabel
-
Decorator(装饰器)
- java.io包
-
java.util.Collections
- 如:SynchronizedList
-
Facade(外观)
-
java.util.logging
- Logger
- LoggerManager
-
java.lang.Class
- 包装了Method,Constructor等类
-
Flyweight(享元)
- String常量池
- Integer.valueOf
- Character.valueOf
-
Proxy(代理)
- Proxy和InvocationHandler
- RMI
-
Bridge(桥接)
- java.util.logging中Handler和Formatter
- java.sql包
-
行为模式
-
Iterator(迭代器)
- 内部
-
外部
- Iterator
- Enumeration
-
Observer(观察者)
- java.util.Observer和java.util.Observable
- swing的listener
-
Mediator(协调者)
- swing中的ButtonGroup
-
Template method(模板方法)
-
ThreadPoolExecutor
- beforeExecute
- AfterExecute
-
Strategy(策略)
- ThreadPoolExecutor中的四种拒绝策略
-
Chain of Responsibility(责任链)
- ClassLoader的委托机制
- java.util.logging.Logger的log方法
- servlet的Filter
-
Command(命令)
- ThreadPoolExecutor
- Runnable
- Callable
-
Null Object(空对象)
- Collections.EMPTY_LIST
- State(状态)
-
Visitor(访问者)
- javax.lang.model.type.TypeVisitor
-
Interpreter(解释器)
- Pattern
- Memento(备忘录)