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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

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

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

前言

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

結(jié)構(gòu)圖

SubSystem? Class 子系統(tǒng)類集合 實現(xiàn)子系統(tǒng)的功能,處理Facade對象指派的任務(wù),注意子類中沒有Facade的任何信息,即沒有對Facade對象的引用

代碼實現(xiàn)

?首先是四個子系統(tǒng)的類

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

?外觀類

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();}}

?客戶端調(diào)用

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

?運行結(jié)果如下

總結(jié)

首先,在設(shè)計初期階段,應(yīng)該要有意識的將不同的兩個層分離。

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

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

轉(zhuǎn)載于:https://www.cnblogs.com/aehyok/p/3315983.html

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。