如何使用智能系统来监控库存水平
假设你使用了一个智能系统来监控库存水平当库存低于某个阈值时系统会通知你补货。这就用到了观察者模式的思想。库存管理系统是被观察者它跟踪库存水平并在必要时发送通知。你是观察者接收库存系统的通知并据此做出补货决定。// 定义被观察者接口 interface InventorySystem { void addObserver(GroceryStoreOwner observer); void removeObserver(GroceryStoreOwner observer); void notifyObservers(); void updateStockLevel(int level); } // 定义观察者接口 interface GroceryStoreOwner { void receiveNotification(String message); } // 实现被观察者 class InventorySystemImpl implements InventorySystem { private ListGroceryStoreOwner observers new ArrayList(); private int stockLevel; Override public void addObserver(GroceryStoreOwner observer) { observers.add(observer); } Override public void removeObserver(GroceryStoreOwner observer) { observers.remove(observer); } Override public void notifyObservers() { for (GroceryStoreOwner observer : observers) { observer.receiveNotification(Stock level is low. Current level: stockLevel); } } Override public void updateStockLevel(int level) { stockLevel level; if (stockLevel 10) { notifyObservers(); } } } // 实现观察者 class StoreOwner implements GroceryStoreOwner { Override public void receiveNotification(String message) { System.out.println(Received notification: message); } } // 使用示例 public class Main { public static void main(String[] args) { InventorySystem inventorySystem new InventorySystemImpl(); GroceryStoreOwner storeOwner new StoreOwner(); inventorySystem.addObserver(storeOwner); inventorySystem.updateStockLevel(5); // 库存水平下降 } }运行程序输出如下Received notification: Stock level is low. Current level: 5这样的模式是易于拓展的比如当店铺招聘新员工后新来的负责采购的人也可以作为观察者来观察库存管理系统并且在收到通知后进行补货。