設計模式GOF23 迭代器模式

2021-07-16 08:37:08 字數 1069 閱讀 9427

迭代器模式(iterator),又稱為游標(cursor)模式,是一種行為性模型,行為型模式關注的是系統中物件之間的相互互動,解決系統在執行時物件之間的相互通訊和協作,進一步明確物件的職責。相比來說,建立型模式關注物件的建立過程,結構型模式關注物件和類的組合關係。

提供一種可以遍歷聚合物件的方式。

聚合物件:儲存資料

迭代器:遍歷資料

public

inte***ce

myiterator

public

class

concretemyaggregate

public

void

addobject(object obj)

public

void

removeobject(object obj)

public listgetlist()

public

void

setlist(listlist)

//外部獲得迭代器的類的方法

public myiterator createiterator()

//使用內部類定義迭代器,可以直接使用外部類的屬性

private

class

concreteitertor

implements

myiterator

//迭代器的真正實現

public object getcurrentobj()

public

boolean

hasnext()

return

false;

}public

boolean

islast()

public

boolean

isfirst()

public

void

next()

}}

這個實現案例是用正向遍歷的迭代器,其實也可以實現逆向遍歷的迭代器(就是每次都把游標向前一位的那種)。

jdk內建的迭代器(list/set)裡面也是用的這種方式。

GOF23 設計模式

design patterns elements of reusable object oriented software 即後述 設計模式 一書 由 erich gamma richard helm ralph johnson 和 john vlissides 合著 addison wesley,...

設計模式GOF23 工廠模式

簡單工廠模式 static factory method 是建立者模式的一種,是負責建立物件的模式。工廠模式是為了實現建立物件和呼叫物件分離的需求。簡單工廠用來生產同一等級結構中的任意產品。對於新增的產品需要修改已有 工廠方法模式用來生產同意等級結構中的固定產品。支援增加任意產品 抽象工廠模式用來生...

設計模式GOF23 外觀模式

外觀模式 facade 是結構性模式的一種,也有人稱它為門面模式。結構型模式的核心作用是從程式的結構上實現低耦合,從而可以擴大整體的類結構,用來解決更大的問題。外觀模式的核心就是為子系統提供統一的入口,封裝系統的複雜性,便於客戶端呼叫。外觀角色 在客戶端可以呼叫它的方法,它會把客戶端呼叫需要的操作放...