日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式 结构型模式 外观模式(Facade Pattern)

發布時間:2025/4/16 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式 结构型模式 外观模式(Facade Pattern) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在軟件開發過程中,客戶端程序經常會與復雜系統的內部子系統進行耦合,從而導致客戶端程序隨著子系統的變化而變化。

這時為了將復雜系統的內部子系統與客戶端之間的依賴解耦,從而就有了外觀模式,也稱作 ”門面“模式。

?

隱藏系統的復雜性,

并向客戶端提供了一個客戶端可以訪問系統的接口。

這種類型的設計模式屬于結構型模式,它向現有的系統添加一個接口,來隱藏系統的復雜性。

這種模式涉及到一個單一的類,該類提供了客戶端請求的簡化方法和對現有系統類方法的委托調用。


意圖:為子系統中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。

主要解決:降低訪問復雜系統的內部子系統時的復雜度,簡化客戶端與之的接口。

何時使用:

  • 客戶端不需要知道系統內部的復雜聯系,整個系統只需提供一個"接待員"即可。
  • 定義系統的入口。

優點:

  • 外觀模式對客戶屏蔽了子系統組件,從而簡化了接口,減少了調用端處理的對象數目并使子系統的使用更加簡單。
  • 外觀模式實現了子系統與客戶之間的松耦合關系,而子系統內部的功能組件是緊耦合的。松耦合使得子系統的組件變化不會影響到它的調用端,提高了靈活性。

缺點:

  • 不符合開閉原則,若子系統增加新組件,則外觀類與調用端都有可能被修改。

使用場景:

  • 為復雜的模塊或子系統提供外界訪問的模塊。
  • 子系統相對獨立。
  • 預防低水平人員帶來的風險。

注意事項:

  • 在層次化結構中,可以使用外觀模式定義系統中每一層的入口。

?

實現

?

1 public class Facade 2 { 3 public void AddXXX() 4 { 5 var subsystem1 = new Subsystem1(); 6 subsystem1.Check(); 7 subsystem1.Insert(); 8 9 var subsystem2 = new Subsystem2(); 10 subsystem2.Notice(); 11 } 12 } 13 14 public class Subsystem1 15 { 16 public void Check() 17 { Console.WriteLine("正在檢查..."); } 18 19 public void Insert() 20 { Console.WriteLine("正在添加..."); } 21 } 22 23 public class Subsystem2 24 { 25 public void Notice() 26 { Console.WriteLine("正在通知..."); } 27 }

?

1 private static void Main(string[] args) 2 { 3 var core = new Facade(); 4 core.AddXXX(); 5 Console.ReadLine(); 6 }

?

轉載于:https://www.cnblogs.com/Aaxuan/p/9602757.html

總結

以上是生活随笔為你收集整理的设计模式 结构型模式 外观模式(Facade Pattern)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。