设计模式是软件工程中非常重要的一部分,它可以帮助开发者解决常见的问题,提高代码的可维护性和扩展性。下面是一些常见的设计模式及其简要介绍。

单例模式(Singleton)

单例模式确保一个类只有一个实例,并提供一个全局访问点。这种模式在需要控制实例数量、节省资源时非常有用。

public class Singleton {
    private static Singleton instance;

    private Singleton() {}

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

工厂模式(Factory Method)

工厂模式定义了一个接口用于创建对象,但让子类决定实例化哪一个类。这种模式让类的实例化延迟到子类中进行。

public interface Creator {
    <T> T create(Class<T> clazz);
}

public class ConcreteCreator implements Creator {
    public <T> T create(Class<T> clazz) {
        if (clazz == ConcreteProduct.class) {
            return (T) new ConcreteProduct();
        }
        return null;
    }
}

观察者模式(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 notifyObservers() {
        for (Observer observer : observers) {
            observer.update();
        }
    }
}

更多设计模式的内容,您可以访问本站设计模式教程进行深入学习。

图片展示

下面是几种设计模式在实际应用中的示例:

Singleton
Factory_Method
Observer