外觀模式定義: 外觀模式提供了一個統一的接口,用來訪問子系統中的一群接口。外觀定義了一個高層接口,讓子系統更容易使用。類圖如下:
要點:
● 外觀模式為復雜子系統提供了一個簡單接口,并不為子系統添加新的功能和行為。
● 外觀模式實現了子系統與客戶之間的松耦合關系。
● 外觀模式沒有封裝子系統的類,只是提供了簡單的接口。 如果應用需要,它并不限制客戶使用子系統類。因此可以再系統易用性與通用性之間選擇。
● 外觀模式注重的是簡化接口,它更多的時候是從架構的層次去看整個系統,而并非單個類的層次。
外觀模式優點:
● 實現了子系統與客戶端之間的松耦合關系。
● 客戶端屏蔽了子系統組件,減少了客戶端所需處理的對象數目,并使得子系統使用起來更加容易。
使用場景:
● 設計初期階段,應該有意識的將不同層分離,層與層之間建立外觀模式。
● 開發階段,子系統越來越復雜,增加外觀模式提供一個簡單的調用接口。
● 維護一個大型遺留系統的時候,可能這個系統已經非常難以維護和擴展,但又包含非常重要的功能,為其開發一個外觀類,以便新系統與其交互。
案例1:假設我們家里做一個影院,大屏電視,dvd,音響,爆米花機,有好多設備,我們看電視一般的流程是:
● 先打開電源。
● 然后打開電視。
● 然后打開dvd。
● 然后打開音響。
● 然后打開爆米花機。
● 然后,,,然后關閉呢?,,,,好多事我們自己處理,這時我們可以引入外觀模式來簡化,記住哦,外觀模式就是簡化接口,簡化子系統調用。改造以后我們可以按遙控器的一鍵來處理這些所有的步驟,類圖如下:
設計原則:最少知識原則,只和朋友交談。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。