Java 中有许多常用的设计模式,它们是为了解决特定问题而被反复使用和验证的经验总结。以下是一些常见的 Java 设计模式:
工厂模式 (Factory Pattern):
java.util.Calendar#getInstance()
抽象工厂模式 (Abstract Factory Pattern):
javax.xml.parsers.DocumentBuilderFactory
单例模式 (Singleton Pattern):
java.lang.Runtime#getRuntime()
建造者模式 (Builder Pattern):
java.lang.StringBuilder#append()
原型模式 (Prototype Pattern):
适配器模式 (Adapter Pattern):
java.util.Arrays#asList()
桥接模式 (Bridge Pattern):
java.sql.DriverManager
组合模式 (Composite Pattern):
java.awt.Container
和 javax.swing.JComponent
装饰者模式 (Decorator Pattern):
java.io.BufferedInputStream
外观模式 (Facade Pattern):
javax.faces.context.FacesContext
享元模式 (Flyweight Pattern):
java.lang.Integer#valueOf(int)
代理模式 (Proxy Pattern):
java.lang.reflect.Proxy
责任链模式 (Chain of Responsibility Pattern):
java.util.logging.Logger#log()
命令模式 (Command Pattern):
java.lang.Runnable
解释器模式 (Interpreter Pattern):
java.util.Pattern
迭代器模式 (Iterator Pattern):
java.util.Iterator
和 java.util.Enumeration
中介者模式 (Mediator Pattern):
java.util.Timer
备忘录模式 (Memento Pattern):
java.util.Calendar
观察者模式 (Observer Pattern):
java.util.Observer
和 java.util.Observable
状态模式 (State Pattern):
javax.faces.lifecycle.Lifecycle#execute()
策略模式 (Strategy Pattern):
java.util.Comparator
模板方法模式 (Template Method Pattern):
java.util.Collections#sort()
javax.lang.model.element.ElementVisitor