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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

设计模式之十(外观模式)

發布時間:2023/12/13 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式之十(外观模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

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

結構圖

SubSystem? Class 子系統類集合 實現子系統的功能,處理Facade對象指派的任務,注意子類中沒有Facade的任何信息,即沒有對Facade對象的引用

代碼實現

?首先是四個子系統的類

public class SubSystemOne{public void MethodOne(){Console.WriteLine("子系統方法一");}}public class SubSystemTwo{public void MethodTwo(){Console.WriteLine("子系統方法二");}}public class SubSystemThree{public void MethodThree(){Console.WriteLine("子系統方法三");}}public class SubSystemFour{public void MethodFour(){Console.WriteLine("子系統方法四");}}

?外觀類

public class Facade{SubSystemOne one;SubSystemTwo two;SubSystemThree three;SubSystemFour four;public Facade(){one = new SubSystemOne();two = new SubSystemTwo();three = new SubSystemThree();four = new SubSystemFour();}public void MethodA(){Console.WriteLine("\n方法組A()----");one.MethodOne();two.MethodTwo();four.MethodFour();}public void MethodB(){Console.WriteLine("\n方法組B()----");two.MethodTwo();three.MethodThree();}}

?客戶端調用

class Program{static void Main(string[] args){Facade facade = new Facade();facade.MethodA();facade.MethodB();Console.ReadLine();}}

?運行結果如下

總結

首先,在設計初期階段,應該要有意識的將不同的兩個層分離。

其次,在開發階段,子系統往往因為不斷的重構演化而變得越來越復雜。增加外觀Facade可以提供一個簡單的接口,減少它們之間的依賴。

第三,在維護一個遺留的大型系統時,可能這個系統已經非常難以維護和擴展了。可以為新系統開發一個外觀Facade類,來提供設計粗糙或高度復雜的遺留代碼的比較清晰簡單的接口,讓新系統與Facade對象交互,Facade與遺留代碼交互所有復雜的工作。

轉載于:https://www.cnblogs.com/aehyok/p/3315983.html

總結

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

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