提供一種方法順序訪問乙個聚合物件中各個元素, 而又無須暴露該物件的內部表示。
可以用同一種方法來遍歷
// 如果是arraylist之類的,內建的就有了
public class pancakehousemenu implements menu
}
// 如果是陣列,就比較麻煩,要自己寫了
public class dinermenu implements menu
private class dinermenuiterator implements iterator
return false;
}@override
public object next()
return null;
}
//remove方法...略}}
Design Pattern 工廠模式
當有一些要例項化的具體類,究竟例項化哪個類,要在執行時由一些條件來決定。當 使用大量具體類時,我們就要考慮使用工廠模式了。定義了乙個建立物件的介面,但由子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。public abstract class pizzastore protected ...
design pattern 外觀模式
針對問題 在軟體開發系統中,客戶程式經常會與複雜系統的內部子系統之間產生耦合,而導致客戶程式隨著子系統的變化而變化。那麼如何簡化客戶程式與子系統之間的互動介面?如何將複雜系統的內部子系統與客戶程式之間的依賴解耦?為子系統中的一組介面提供乙個一致的介面,facade 模式定義了乙個高層介面,這個介面使...
design pattern 狀態模式
針對問題 有時候乙個方法可能有很多if.else來判斷狀態後再執行相關操作,當很多方法都重複的出現這樣的if.else判斷時,就可以考慮用狀態模式了。狀態模式的結構圖和策略模式一樣,事實上狀態模式和策略很相似,不同的是狀態模式除了委託狀態外,狀態實體自身持有主實體物件的引用,在狀態實體內部可以動態的...