在 java 框架中,设计模式广泛应用于以下场景:单例模式:限制类实例数目为一个,适用于需要全局访问对象的情况。观察者模式:定义一对多的依赖关系,当主题对象状态改变时,通知并更新所有观察者对象。

Java 框架中设计模式的应用场景
引言
设计模式是编程中重用良好实践和解决方案的标准方法。在 Java 框架中,设计模式广泛应用,它们提供了通用的、可重用的组件,简化了应用程序的开发和维护。
立即学习“Java免费学习笔记(深入)”;
单例模式
单例模式限制一个类的实例数目为一个。在需要全局访问某个对象的情况下可以使用该模式,例如日志服务或数据库连接。
实战案例:
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
// Singleton.java
public class Singleton {
private static Singleton instance;
private Singleton() { }
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
// Client.java
public class Client {
public static void main(String[] args) {
Singleton singleton1 = Singleton.getInstance();
Singleton singleton2 = Singleton.getInstance();
System.out.println(singleton1 == singleton2); // true
}
}观察者模式
观察者模式定义了一种一对多的依赖关系,当一个对象(主题)的状态改变时,它会通知并更新所有依赖的对象(观察者)。
实战案例:
// Subject.java
public interface Subject {
void addObserver(Observer observer);
void removeObserver(Observer observer);
void notifyObservers();
}
// ConcreteSubject.java
public class ConcreteSubject implements Subject {
private List observers = new ArrayList<>();
@Override
public void addObserver(Observer observer) {
observers.add(observer);
}
@Override
public void removeObserver(Observer observer) {
observers.remove(observer);
}
@Override
public void notifyObservers() {
for (Observer observer : observers) {
observer.update();
}
}
}
// Observer.java
public interface Observer {
void update();
}
// ConcreteObserver.java
public class ConcreteObserver implements Observer {
@Override
public void update() {
System.out.println("Observer updated!");
}
}
// Client.java
public class Client {
public static void main(String[] args) {
ConcreteSubject subject = new ConcreteSubject();
ConcreteObserver observer1 = new ConcreteObserver();
ConcreteObserver observer2 = new ConcreteObserver();
subject.addObserver(observer1);
subject.addObserver(observer2);
subject.notifyObservers();
}
} 其他常用的设计模式:
- 工厂方法模式:创建对象的工厂接口
- 代理模式:为其他对象提供替代或增强
- 策略模式:允许算法交换而无需修改客户端代码
结论
设计模式是 Java 框架中不可或缺的一部分。它们提供通用解决方案,使应用程序更易于开发、维护和扩展。通过了解和应用设计模式,开发人员可以创建更健壮、更灵活的应用程序。










