设计模式是软件开发中非常重要的一部分,它可以帮助我们更好地组织和理解代码结构。以下是一些常见的设计模式及其简介:
单例模式(Singleton)
单例模式确保一个类只有一个实例,并提供一个全局访问点。
特点:
- 一个类只有一个实例。
- 全局访问点。
- 懒汉式和饿汉式实现。
代码示例:
public class Singleton { private static Singleton instance; private Singleton() {} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
观察者模式(Observer)
观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。
特点:
- 对象间的一对多依赖关系。
- 动态添加或删除观察者。
代码示例:
public interface Observer { void update(); } public class Subject { private List<Observer> observers = new ArrayList<>(); public void addObserver(Observer observer) { observers.add(observer); } public void removeObserver(Observer observer) { observers.remove(observer); } public void notifyObservers() { for (Observer observer : observers) { observer.update(); } } }
状态模式(State)
状态模式允许对象在其内部状态改变时改变其行为。
特点:
- 对象的行为依赖于其内部状态。
- 可以动态改变对象的行为。
代码示例:
public interface State { void handle(); } public class ConcreteStateA implements State { public void handle() { System.out.println("Handling state A"); } } public class ConcreteStateB implements State { public void handle() { System.out.println("Handling state B"); } } public class Context { private State state; public void setState(State state) { this.state = state; } public void request() { state.handle(); } }
以上只是设计模式中的一部分,更多设计模式可以参考本站设计模式教程。
设计模式