我們要通過乙個例子把前邊學習過的設計模式串一遍,以一種需求不斷疊加的實際工作場景為背景。首先我們還是把我們第乙個模式所舉的鴨子的例子搬出來,我們要建立乙個模擬器對這些鴨子的叫聲進行模擬:
首先我們設計乙個呱呱叫的介面:
public inte***ce quackable
接著我們讓一些類實現這個介面——一些鴨子有這樣的功能。
public class mallardduck implements quackable
}public class redheadduck implements quackable
}
另外一些鴨子也叫喚,但是可能聲音不同:
public class duckcall implements quackable
}public class rubberduck implements quackable
}
我們此時就可以建立模擬器了:
public class ducksimulator
void simulate()
void simulate(quackable duck)
}
Head First設計模式之組合模式
將物件組合成樹形結構來表現 整體 部分 層次結構。組合能讓客戶以一致的方法處理個別物件以及組合物件。主要部分可以被一致對待問題.組合模式主要包含三個角色 2.composite 容器構件 容器節點包含子節點,其子節點可以是葉子節點,也可以是容器節點,它提供乙個集合用於儲存子節點,實現了在抽象構件中定...
Head First設計模式之組合模式
將物件組合成樹形結構來表現 整體 部分 層次結構。組合能讓客戶以一致的方法處理個別物件以及組合物件。主要部分可以被一致對待問題.組合模式主要包含三個角色 2.composite 容器構件 容器節點包含子節點,其子節點可以是葉子節點,也可以是容器節點,它提供乙個集合用於儲存子節點,實現了在抽象構件中定...
多種排序組合
include void bubble int a,int n 氣泡排序 void choise int a,int n 選擇排序 void quick int a,int i,int j 快速排序 void insert int a,int n 插入法 void shell int a,int n...