设计模式是软件工程中非常重要的概念,它提供了一系列可重用的解决方案来应对软件设计中常见的问题。下面是一些常见的设计模式及其简要介绍。

单例模式 (Singleton)

单例模式确保一个类只有一个实例,并提供一个全局访问点。这种模式被广泛应用于那些只需要一个实例的场景,如数据库连接池。

public class Singleton {
    private static Singleton instance;

    private Singleton() {}

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

观察者模式 (Observer)

观察者模式定义了一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。

interface Observer {
    void update();
}

class ConcreteObserver implements Observer {
    public void update() {
        // 更新逻辑
    }
}

class Subject {
    private List<Observer> observers = new ArrayList<>();

    public void addObserver(Observer observer) {
        observers.add(observer);
    }

    public void notifyObservers() {
        for (Observer observer : observers) {
            observer.update();
        }
    }
}

装饰者模式 (Decorator)

装饰者模式动态地给一个对象添加一些额外的职责,而不改变其接口。这种模式在保持类结构灵活的同时,可以增加对象的功能。

interface Component {
    void operation();
}

class ConcreteComponent implements Component {
    public void operation() {
        // 实现细节
    }
}

class Decorator implements Component {
    private Component component;

    public Decorator(Component component) {
        this.component = component;
    }

    public void operation() {
        component.operation();
        // 增加的功能
    }
}

更多设计模式的学习资料,您可以访问本站设计模式教程


![设计模式图解](https://cloud-image.ullrai.com/q/Design_Patterns Illustration/)