HeadFirst 多種模式組合使用

2021-08-25 04:34:49 字數 682 閱讀 5111

我們要通過乙個例子把前邊學習過的設計模式串一遍,以一種需求不斷疊加的實際工作場景為背景。首先我們還是把我們第乙個模式所舉的鴨子的例子搬出來,我們要建立乙個模擬器對這些鴨子的叫聲進行模擬:

首先我們設計乙個呱呱叫的介面:

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...