2

在我的應用程序中,我需要按照一定的步驟順序從數據庫加載數據,例如加載所有客戶,然後加載所有訂單和加載產品等。但是,在一兩種情況下,順序是不同的,也需要加載額外的數據。命令模式以及責任鏈

abstract Model 
{ 
    public void load(Configuration config) { 
     loadCustomers(config); 
     loadOrders(config); 
     loadProducts(config); 
    } 
} 

ConcereteModel1 extends Model { 
    doesn't overload load 
} 

ConcreteModel2 extends Model { 
    public void load(Configuration config) { 
     loadProducts(config); 
     loadOrders(config); 
     loadCustomers(config); 
     loadAdditional(config); 
    } 
} 

我最初的想法是,如果我也許可以使用Command模式(帶負載命令法)爲客戶,訂單或產品的實際負載和使用責任鏈綁的命令。這是一個好方法,還是我在這裏設計工具?

任何示例代碼都會非常有幫助。 感謝您的任何建議

回答

1

這聽起來像是您的任務的正確選擇。或者,您需要爲您的數據加載步驟創建一個基類,並針對特殊情況對其進行不同的實施。

這一切都取決於什麼最簡單的方法來確定你有一個特殊情況是。

請參閱this description of Chain of Responbsibility代碼示例。

0

我認爲你必須要注意:

您使用的是技術途徑(如命令模式)以隱藏域規範(」 ......然而,在一個或兩個的情況。 ..「)。

我建議開發出現第二個解決方案。