《設計模式》 - 8. 外觀模式( Facade )
Javascript設計模式 - 原文連結
《設計模式》 - 8. 外觀模式( Facade ) :
語言 : C#
說明 :
- 第一步 : 通過 Shape 介面 , 衍生出兩個派生類 正方形 (Square) 和 圓形 (Circle) , Square 和 Circle 兩個類裡都具有 繪製 (draw) 函式 .
- 第二步 : 然後例項化 Maker 類 , 通過 maker 來呼叫 draw 函式繪製圖形 , 不用管裡面的具體實現細節 , 在較大的專案中 , 可以告訴新人介面作用 , 直接呼叫 , 而不必花時間講解實現邏輯 .
作用 :
- 減少系統間的相互依賴 .
- 增加靈活性 .
- 避免低水平程式設計師帶來的風險 .
弊端 :
- 繼承和重寫都不合適 , 修改很麻煩 .
- 不符合開閉原則 .
圖示 :
實現 :
對圖示中的內容稍微簡化了一些 , 大致思路是一樣的 .
- 實現介面Shape , 重寫 draw方法 .
namespace DesignPattern
{
//介面 Shape
public interface Shape
{
void draw();
}
//正方形 Square
public class Square : Shape
{
public void draw()
{
Console.WriteLine("畫正方形");
}
}
//圓形 Circle
public class Circle : Shape
{
public void draw()
{
Console.WriteLine("畫圓形");
}
}
- 建立一個 Maker 外觀類 , 對外提供介面 , 對內隱藏實現細節 .
//外觀類
public class Maker
{
private Shape square;
private Shape circle;
public Maker()
{
square = new Square();
circle = new Circle();
}
//畫正方形
public void drawSquare()
{
square.draw();
}
//畫圓形
public void drawCircle()
{
circle.draw();
}
}
- 例項化外觀類 ( Maker ) , 呼叫 Maker裡的介面 .
//外觀模式
public class FacadePattern
{
static void Main()
{
//例項化 外觀類
Maker maker = new Maker();
//呼叫繪製方法
maker.drawCircle();
maker.drawSquare();
}
}
}
結果 :
相關文章
- JS設計模式之Facade(外觀)模式JS設計模式
- C#設計模式-外觀模式(Facade Pattern)C#設計模式
- 外觀模式(Facade)模式
- 結構模式 01-外觀模式(facade)模式
- 設計模式-外觀模式設計模式
- Python設計模式-外觀模式Python設計模式
- 設計模式(十)外觀模式設計模式
- java設計模式-外觀模式Java設計模式
- 【設計模式】外觀設計模式
- 外觀模式(Facade模式)詳解——小馬同學@Tian模式
- 《Head First 設計模式》:外觀模式設計模式
- 軟體設計模式————(外觀模式)設計模式
- 極簡設計模式-外觀模式設計模式
- 設計模式系列之外觀模式(Facade Pattern)——提供統一的入口設計模式
- 設計模式之【門面模式(外觀模式)】設計模式
- 設計模式第六講-外觀模式設計模式
- 【23種設計模式】外觀模式(十)設計模式
- 設計模式 | 外觀模式及典型應用設計模式
- java23種設計模式-門面模式(外觀模式)Java設計模式
- 軟體設計模式系列之十二——外觀模式設計模式
- Go 實現常用設計模式(八)外觀模式Go設計模式
- 09.外觀模式設計思想模式
- 設計模式【9】-- 外觀模式?沒那麼高大上設計模式
- 設計模式學習-使用go實現外觀模式設計模式Go
- 設計模式之外觀模式設計模式
- Swift 中的設計模式 #3 外觀模式與介面卡模式Swift設計模式
- go設計模式之外觀模式Go設計模式
- 設計模式 —— 觀察者模式設計模式
- 設計模式(觀察者模式)設計模式
- PHP設計模式之外觀模式PHP設計模式
- 設計模式----觀察者模式設計模式
- 【設計模式】觀察者模式設計模式
- Java設計模式之外觀模式Java設計模式
- 設計模式——觀察者模式設計模式
- 使用C# (.NET Core) 實現介面卡模式 (Adapter Pattern) 和外觀模式 (Facade Pattern)C#模式APT
- 2020重新出發,JAVA設計模式 之十 外觀模式Java設計模式
- 外觀模式模式
- Java進階篇設計模式之五-----外觀模式和裝飾器模式Java設計模式