iOS 設計模式 門面模式 demo

2021-08-11 02:20:18 字數 1269 閱讀 8446

//聯絡人:石虎

暱稱:嗡嘛呢叭咪哄

一、概念

門面模式也稱為外觀模式。

門面模式提供了乙個統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。——《head first設計模式》

在各種服務盡量解耦的情況下,門面模式提供類似聚合層的作用。例如使用者下單,需要呼叫訂單服務下訂單,還要呼叫支付服務進行支付,此時可以用門面介面新建乙個介面,提供下單和支付功能。客戶端只需呼叫乙個方法。

二、例子

// 點燈類

public class light   

//關掉

public void turnoff()

}// 空調類

public class airconditioner

public void turnoff()

}// 熱水器類

public class waterheater

public void turnoff()

}/**

需求這是設計了一堆電器類,文章為方便,只給出電燈類,空調類,熱水器類。

每個類都有開啟和關閉的方法。

每天回家,你會開啟所有電器,每天出門,你會關閉所有電器。

*///委託人

public class client

}/**

需求優化

加乙個控制中心即可,定義了controlcente***cade類

*///控制中心外觀

public class controlcente***cade

//接通開啟

public void turnon()

//關掉

public void turnoff()

}/**

該類在turnon方法中呼叫了所有電器的開啟方法,在turnoff中呼叫了所有電器的關閉方法。

這裡的控制中心就是乙個門面,你不用關係你有多少電器,也不用關心每個電器如何開啟關閉。

你要做的,只是按下控制中心上的開啟/關閉按鈕。

*/public class clientv2

}//這就是門面模式

三、總結

門面模式比較簡單,甚至稱不上是乙個設計模式。

是**解耦的反面,提供了聚合層,如果豪宅中增加了新的電器,就需要修改控制中心類了。

方便上層的呼叫,使得上層**邏輯更清晰。

謝謝!!!

設計模式 門面模式

一 門面模式概述 門面模式是物件的結構模式,外部與乙個子系統的通訊必須通過乙個統一的門面物件進行。門面模式提供乙個高層次的介面,使得子系統更易於使用。1 門面角色 facade 這是門面模式的核心。它被客戶角色呼叫,因此它熟悉子系統的功能。它內部根據客戶角色已有的需求預定了幾種功能組合。2 子系統角...

設計模式 門面模式

門面模式 外觀模式 將子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。1 它對客戶遮蔽子系統元件,因而減少了客戶處理的物件的數目並使得子系統使用起來更加方便。2 它實現了子系統與客戶之間的松耦合關係,而子系統內部的功能元件往往是緊耦合的。3 如果...

《設計模式》 門面模式

提供乙個門面去呼叫系統各個子模組,客戶端呼叫門面,減少客戶端與系統中各個子模組的互動,鬆散耦合,facade知道各個子模組,而各個子模組不應該知道facade的存在 客戶端也可以直接呼叫各個子模組,有外觀也可以不使用 當需要呼叫系統內部多個子模組的時候,為了避免客戶端分別呼叫子模組,提供乙個門面,讓...