要求乙個子系統的外部與內部通訊必須通過乙個統一的物件進行。
1。為乙個複雜子系統提供乙個簡單介面。
2。當需要構建乙個層次子系統的時候,使用外觀模式定義子系統中每層的入口點。
以手機為例,手機包含了**、簡訊、拍照、gps等諸多功能。手機就是就是乙個統一的入口。
//定義手機功能輸出:inte***ce phone
class phoneimp implements phone
@override
public void hangup()
}inte***ce camera
class cameraimp implements camera
@override
public void takepic()
@override
public void close()
}//定義乙個手機類
class mobilephone
void voidchat()
}public class facademode
}
優點:1。對客戶端程式隱藏子系統細節,減少了客戶對子系統的耦合
2。外觀類對子系統的封裝,使得子系統更易用。
缺點:1。外觀類介面膨脹。
2。沒有遵循開閉原則,業務變更時,可能需要直接修改外觀類。
設計模式 外觀模式
外觀模式,我的理解就是將複雜的類進行重新封裝,將簡單的介面呈現出來,降低呼叫端和實際類的耦合性。拿 大話設計模式 上邊關於 和 的例子來說。對於不入門的股民來說,交易有些過於龐大,需要學習的東西很多,如果沒整明白就進行投資,很容易賠錢的。很多剛入 的股民都賠的很慘。而買 有提出了乙個新的觀念,我們買...
設計模式 外觀模式
何為外觀模式?外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得一子系統更加容易使用。它是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和 各子系統的演化,這種過多的耦合面臨很多變化的挑戰。uml類圖 乙個...
設計模式 外觀模式
外觀模式說白了就是為一組介面提供乙個一致的介面。例如 定義三個類a b c,每個類各定義乙個方法。class a pubic void showa cout a showa pubic void showb cout b showb pubic void showc cout c showc 定義乙...