我有一個應用程序對數據庫執行多個查詢(query1,query2,query3),檢索數據,然後發佈該數據。適當的設計
我設計它的方式是:
a。有一個封裝了連接的DB類,查詢執行,將結果集轉換爲POJO。
b。知道如何發佈pojo的發佈者類。
c。一個控制器,在開始時,執行一個然後將輸出提供給b。
public void start(){
List<DataPojo> pojoList = db.executeAndRetrieveResult();
for (DataPojo p : pojoList){
publisher.publish(p);
}
}
d。包含控制器列表的管理器。當被調用時,迭代並要求 控制器啓動。
public void start(){
for (Controller c : controllerList){
c.start();
}
}
該應用程序的生活很簡單,因此很好。
但是現在我需要做一個改變,將query1, 中的數據與query2中的數據結合起來,然後發佈它。
以前,控制器是同質的。它們之間的差異 被封裝在它們執行的查詢中(使用Db類)。
但是,現在我需要知道哪個控制器正在執行哪個查詢,所以我知道 在哪裏得到query1和query2的輸出。
是一種設計模式,我可以使Controller1和Controller2交互,同時仍然保持它們相對鬆散耦合?
乾杯