当前位置:首页 > 编程知识 > 正文

Java设计模式的深度解读

Java设计模式,是对一类适用于一些特定环境以及具有共性问题的优秀设计方案的总结和描述,它是一种经验和知识的积累,使用合适的设计模式可以极大的提高程序的可复用性、可读性和稳定性。

一、单例设计模式(Singleton)

单例模式,即一个类只限制产生一个实例,可以通过它来访问唯一实例。例如用于数据库连接、线程池等。

public class Singleton {
    private static Singleton instance = new Singleton();
    private Singleton(){}
    public static Singleton getInstance(){
        return instance;
    }
}

二、工厂模式(Factory)

工厂模式是最常用的一种创建型设计模式,它提供了一个创建对象的最佳方式,在创建对象时,会使用工厂方法代替new操作。

public class Factory {
    public static Computer createComputer(String type) {
        if ("PC".equals(type)) {
            return new PC();
        } else if ("Server".equals(type)) {
            return new Server();
        }
        return null;
    }
}

三、观察者模式(Observer)

观察者模式常用于事件驱动程序,当对象间存在一对多关系时,使用观察者模式。例如,当一个对象被修改,则它的依赖对象 bzw. 观察者会被自动的通知。

public class Subject {
    private List observers = new ArrayList();
    private int state;
    public int getState() {
        return state;
    }
    public void setState(int state) {
        this.state = state;
        notifyAllObservers();
    }
    public void attach(Observer observer){
        observers.add(observer);       
    }
    public void notifyAllObservers(){
        for (Observer observer : observers) {
            observer.update();
        }
    } 
}