2013-06-25 24 views
0

說,我有不同種類的Organization,我試圖使用Strategy Pattern設計模式:我如何處理不同類型的組織?

這裏是我的組織是什麼樣子:

Class Organization { 
    public String id; 
    public String name; 
    public String description; 
    // Do something common. 
} 

因爲我有各種不同的組織,並各種組織都有自己的領域,例如:There

Class School extends Organization { 
    public String level; 
    public String annuity; 
    // Do something special for school. 
} 

Class Camp extends Organization { 
    public String beginDate; 
    public String endDate; 
    // Do something special for Camp. 
} 

問題是: 現在我需要爲他們設計一個管理面板,並且我不想單獨管理每種組織。

我想僅管理頁面中的所有組織。

那麼,我該怎麼做呢?

我應該將所有數據放入一個名爲Organization的表中並添加一個Type字段,或者爲不同的組織創建不同的表?

+0

你需要明確這些「做點什麼......」。沒有他們,我並不認爲這裏需要戰略模式。 – LMeyer

回答

0

這不是戰略模式的用例,因爲根據某些情況,您不需要任何種類的算法/行爲。

你的3個不同的類看起來不像它們屬於同一個類別,因爲它們完全有不同的字段。對我來說,這看起來像是你需要創建不同組織實例的東西,你也應該知道它們的類型。

所以首先要弄清楚你是否能找到你的類之間的通用性。如果是從接口實現它們並獲得一個工廠類,它將根據某些輸入參數創建每個組織。 如果你在你的課堂上找不到任何共通點,那麼你應該把它們看成是完全不同的,因爲它們不是彼此相關的。