1. 案例分析:使用观察者模式实现实时股票价格更新
1.1 详解
在股票交易系统中,经常需要实时更新股票价格,通常情况下我们可以使用观察者模式来实现。股票交易系统是典型的发布-订阅场景,股票价格的变动需要即时通知给相关的观察者。
1.2 示例代码(Java)
import java.util.ArrayList;
import java.util.List;
class Stock {
private String symbol;
private double price;
private List<Observer> observers;
public Stock(String symbol, double price) {
this.symbol = symbol;
this.price = price;
this.observers = new ArrayList<>();
}
public void setPrice(double price) {
this.price = price;
notifyObservers();
}
public void addObserver(Observer observer) {
observers.add(observer);
}
public void removeObserver(Observer observer) {
observers.remove(observer);
}
private void notifyObservers() {
for (Observer observer : observers) {
observer.update(symbol, price);
}
}
}
interface Observer {
void update(String symbol, double price);
}
class StockObserver implements Observer {
private String name;
public StockObserver(String name) {
this.name = name;
}
@Override
public void update(String symbol, double price) {
System.out.println(name + " - Stock price of " + symbol + " is now: " + price);
}
}
public class StockMarketExample {
public static void main(String[] args) {
Stock stock = new Stock("AAPL", 150.0);
Observer observer1 = new StockObserver("Observer 1");
Observer observer2 = new StockObserver("Observer 2");
stock.addObserver(observer1);
stock.addObserver(observer2);
stock.setPrice(155.0);
}
}
2. 项目案例:电子商务平台订单处理系统
2.1 详解
在电子商务平台中,订单处理系统是核心组件之一。订单处理涉及订单创建、支付、库存管理、配送等多个环节,设计良好的系统可以通过设计模式来提高可维护性、扩展性和性能。
2.2 设计模式应用示例(简化):
工厂模式:用于创建订单对象,根据订单类型不同创建不同类型的订单。
观察者模式:用于实时通知用户订单状态的变化,比如订单支付成功、订单发货等。
策略模式:用于选择不同的支付策略,比如信用卡支付、支付宝支付等。
模板方法模式:用于定义订单处理的流程,例如创建订单的流程可以有多个步骤,模板方法定义了这些步骤的顺序,但具体步骤的实现由子类提供。
享元模式:用于共享订单状态信息,避免重复创建相同的状态对象。
这些设计模式可以让订单处理系统更具扩展性、灵活性和可维护性,使其能够适应不断变化的业务需求。
版权声明: 闲者 发表于 2024-08-09
转载请注明: Java设计模式六 - 实际应用与案例分析 | Java设计模式六 - 实际应用与案例分析 - 无界文档,Java设计模式六 - 实际应用与案例分析
暂无评论...