全本小說網->吳強作品集->大話設計模式
上一頁返回書目下一頁
大話設計模式第215章
全本小說網www.qb5200.com加入收藏小A:“迭代器模式有哪些角色?”
大B:“1、迭代器角色(Iterator):迭代器角色負責定義訪問和遍曆元素的接口。2、具體迭代器角色(ConcreteIterator):具體迭代器角色要實現迭代器接口,並要記錄遍曆中的當前位置。3、容器角色(Container):容器角色負責提供創建具體迭代器角色的接口。4、具體容器角色(ConcreteContainer):具體容器角色實現創建具體迭代器角色的接口——這個具體迭代器角色於該容器的結構相關。”
大B:“從結構上,迭代器模式在客戶與容器之間加入了迭代器角色。迭代器角色的加入,就可以很好的避免容器內部細節的暴露,而且也使得設計符號‘單一職責原則’。”
大B:“注意,在迭代器模式中,具體迭代器角色和具體容器角色是耦合在一起的——遍曆算法是與容器的內部細節緊密相關的。為了使客戶程序從與具體迭代器角色耦合的困境中脫離出來,避免具體迭代器角色的更換給客戶程序帶來的修改,迭代器模式抽象了具體迭代器角色,使得客戶程序更具一般性和重用性。這被稱為多態迭代。”上一頁返回目錄下一頁
(本章完)