设计模式是软件开发中非常重要的一部分,它可以帮助我们更好地组织和理解代码结构。以下是一些常见的设计模式及其简介:

单例模式(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();
        }
    }
    

以上只是设计模式中的一部分,更多设计模式可以参考本站设计模式教程

设计模式