iOS設計模式 外觀

2021-07-03 22:36:28 字數 887 閱讀 1958

外觀:為系統中的一組介面提供乙個統一的介面。外觀定義乙個高層的介面,讓子系統更易於使用。

子系統正逐漸變的複雜。應用模式的過程中演化出許多類。可以使用外觀為這些子系統類提供乙個較簡單的介面。

可以使用外觀對子系統進行分層。每個子系統級別有乙個外觀作為入口點。讓它們通過其外觀進行通訊,可以簡化它們的依賴關係。

外觀模式就是多一層封裝以簡化對外的介面,外觀模式實現難度不大主要是應用場景。下面是乙個應用場景舉例。

1、在乙個模擬搭乘計程車到x地點的程式中,car和taximeter分別是車和計價器類,我們要在使用是分別呼叫兩個類的方法完成複雜的功能。

car.h

@inte***ce car : nsobject

-(void)releasebrakes;

-(void)changegears;

-(void)pressaccelerator;

-(void)pressbrakes;

-(void)releaseaccelerator;

taximeter.h

@inte***ce

taximeter : nsobject

- (void)start;

- (void)stop;

2、通過外觀模式,我們再抽象一層cabdriver.h,這樣我們只需要呼叫cabdriver中的乙個方法就可以完成負責的操作了,這樣的好處是簡化介面、對上層遮蔽複雜實現。

@inte***ce

cabdriver : nsobject

- (void)drivetolocation:(location*)location;

iOS設計模式 外觀

ios設計模式 外觀 原理圖 1.當客服端需要使用乙個複雜的子系統 子系統之間關係錯綜複雜 但又不想和他們扯上關係時,我們需要單獨的寫出乙個類來與子系統互動,隔離客戶端與子系統之間的聯絡,客戶端只與這個單獨寫出來的類互動 2.外觀模式實質為為系統中的一組介面提供乙個統一的介面,外觀定義了乙個高層介面...

iOS設計模式 外觀

ios設計模式 外觀 原理圖 1.當客服端需要使用乙個複雜的子系統 子系統之間關係錯綜複雜 但又不想和他們扯上關係時,我們需要單獨的寫出乙個類來與子系統互動,隔離客戶端與子系統之間的聯絡,客戶端只與這個單獨寫出來的類互動 2.外觀模式實質為為系統中的一組介面提供乙個統一的介面,外觀定義了乙個高層介面...

iOS 設計模式學習 外觀模式

最近在學習 objective c程式設計之道 ios設計模式解析 本文是對外觀模式的乙個分析和例子實現。裡面包含書的例子。標籤 介面適配 外觀模式為子系統中一組不同的介面提供統一的介面。外觀定義了上層介面,通過降低複雜度和隱藏子系統間的通訊及依存關係,讓子系統更易於使用。類圖如下 子系統正逐漸變得...