首页 > 图灵资讯 > 技术篇>正文
Java框架中的常用设计模式
2024-05-16 20:42:23
java 框架中的设计模式用于增强代码的可扩展性、可维护性和可重用性。一般模式包括:单例模式:确保只有一个类实例,并在整个应用程序中访问。工厂方法模式:创建对象界面,由子类决定实例对象。观察者模式:定义一对多的依赖关系,当一个对象发生变化时,其他对象会收到通知并更新状态。战略模式:定义一系列算法,使其能够互换,使算法类独立于客户类。
Java 框架中常用的设计模式
在软件开发过程中,设计模式是解决常见问题的验证代码组织结构。在 Java 在框架中,设计模式广泛应用于提高代码的可扩展性、可维护性和可重用性。以下是最常用的一些 Java 框架内的设计模式:
单例模式
-
用途:确保一个类只有一个例子,并在整个应用程序中访问这个例子。
public class Singleton { private static Singleton instance; private Singleton() { /* Private constructor to prevent instantiation */ } public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
登录后复制
工厂方法模式
用途:定义创建对象的界面,让子类决定实例化的类型。
public interface ShapeFactory { Shape createShape(); } public class CircleFactory implements ShapeFactory { @Override public Shape createShape() { return new Circle(); } } public class SquareFactory implements ShapeFactory { @Override public Shape createShape() { return new Square(); } }
登录后复制
观察者模式
用途:定义对象之间的一对多依赖关系。当对象发生变化时,其他对象将收到通知并更新其状态。
public interface Observer { void update(Subject subject); } 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(this); } } }
登录后复制
策略模式
用途:定义一系列算法,包装它们,使它们可以交换。这种模式使算法类独立于使用它们的客户类。
public interface Strategy { int calculate(int num1, int num2); } public class AdditionStrategy implements Strategy { @Override public int calculate(int num1, int num2) { return num1 + num2; } } public class SubtractionStrategy implements Strategy { @Override public int calculate(int num1, int num2) { return num1 - num2; } }
登录后复制
实战案例:Spring Framework 观察者模式在中间
Spring Framework 使用观察者模式通知 bean 事件。当 bean 在创建、销毁或更改时,Spring 会发布事件,应用程序可以订阅这些事件并采取相应的行动。
@EventListener(ApplicationReadyEvent.class) public void handleApplicationReadyEvent() { // 应用程序启动时执行的操作 }
登录后复制
以上是Java框架中常用设计模式的详细内容。请关注图灵教育的其他相关文章!