一、通路者模式介紹
封裝作用于某資料結構(如List/Set/Map等)中的各元素的操作
可以在不改變各元素的類的前提下,定義作用于這些元素的操作
類型:行為型
一個資料結構如(List/Set/Map等)包含很多類型對象
資料結構與資料操作分離
增加新的操作很容易,即增加一個新的通路者
具體元素變更比較麻煩
通路者模式和疊代器模式
共同點:都是在某種資料結構上進行處理,例如List、Map、Set
通路者模式主要用于 對儲存在資料結構中的元素進行某種特定的處理
疊代器模式主要用于 逐個周遊儲存在資料結構中的元素
二、代碼示例
模拟場景:針對免費課程和實戰課程,通路者做出不同的行為
課程抽象類:
課程實作類1(免費課程):
課程實作類2(實戰課程):
通路者接口:
通路者實作類: