設計模式 狀態模式組合模式迭代器模式

2021-09-23 22:02:23 字數 772 閱讀 1785

狀態模式

將物件的轉換封裝在內部
組合模式

元件在內部具有特定的資料結構

使用者操作 但是不想讓得知內部的實施細節

使用者對元件的內部的物件操作 使用者操作乙個物件

多型呼叫&執行時依賴

編譯是確定型別

編譯時多型:大作業的時候要求加入這個的理解

效能較好

迭代器模式

獲得當前的元素

下乙個元素

開頭是否結束

迭代多型

遍歷不同的集合的結構提供乙個統一的介面

從而支援同樣的演算法在不用的結構上執行

eg

三角網格的類庫設計

半邊

一條邊對應兩條半邊

類似於直線的方向向量

可以用迭代器對點和邊進行遍歷

對偶半邊

同一直線的另一條半邊
大作業

選擇 6 種模式

設計模式 迭代器和組合模式

給餐廳選單加入乙個迭代器 public inte ce iterator boolean hasnext object next public class dinermenuiterator implements iterator menuitem items int position 0 publ...

設計模式 迭代器和組合模式

另外做為迭代器,首先你要獲取資料 構造方法 你至少要有最小的執行單位,乙個是next 來獲取下乙個資料,那隨之而來就需要判斷下乙個是否存在,需要hasnext 方法,再加remove 方法。並且聚合物件要實現迭代器介面,這樣客戶端就可以針對介面程式設計,還要需要返回乙個迭代器方法,把聚合物件傳入進去...

迭代器模式 組合模式

迭代器模式 提供一種方法順序訪問乙個聚合物件中的各個元素去,而又不暴露其內部的表示。文中例子 兩個餐廳要進行合併,選單需要遍歷,所以定義了乙個迭代器介面,然後定義了兩個繼承了該介面的迭代器,儘管由選單返回迭代器,但是選單不實現迭代器。心得 資料有很多種儲存方法,為了讓程式設計師能更專心於當前開發,因...