發(fā)文章
發(fā)文工具
撰寫(xiě)
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊(cè)
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
結(jié)構(gòu)圖
SubSystem Class 子系統(tǒng)類(lèi)集合 實(shí)現(xiàn)子系統(tǒng)的功能,處理Facade對(duì)象指派的任務(wù),注意子類(lèi)中沒(méi)有Facade的任何信息,即沒(méi)有對(duì)Facade對(duì)象的引用
代碼實(shí)現(xiàn)
首先是四個(gè)子系統(tǒng)的類(lèi)
public
class
SubSystemOne
{
void
MethodOne()
Console.WriteLine(
"子系統(tǒng)方法一"
);
}
SubSystemTwo
MethodTwo()
"子系統(tǒng)方法二"
SubSystemThree
MethodThree()
"子系統(tǒng)方法三"
SubSystemFour
MethodFour()
"子系統(tǒng)方法四"
外觀類(lèi)
Facade
SubSystemOne one;
SubSystemTwo two;
SubSystemThree three;
SubSystemFour four;
Facade()
one =
new
SubSystemOne();
two =
SubSystemTwo();
three =
SubSystemThree();
four =
SubSystemFour();
MethodA()
"\n方法組A()----"
one.MethodOne();
two.MethodTwo();
four.MethodFour();
MethodB()
"\n方法組B()----"
three.MethodThree();
客戶(hù)端調(diào)用
Program
static
Main(
string
[] args)
Facade facade =
Facade();
facade.MethodA();
facade.MethodB();
Console.ReadLine();
運(yùn)行結(jié)果如下
總結(jié)
首先,在設(shè)計(jì)初期階段,應(yīng)該要有意識(shí)的將不同的兩個(gè)層分離。
其次,在開(kāi)發(fā)階段,子系統(tǒng)往往因?yàn)椴粩嗟闹貥?gòu)演化而變得越來(lái)越復(fù)雜。增加外觀Facade可以提供一個(gè)簡(jiǎn)單的接口,減少它們之間的依賴(lài)。
第三,在維護(hù)一個(gè)遺留的大型系統(tǒng)時(shí),可能這個(gè)系統(tǒng)已經(jīng)非常難以維護(hù)和擴(kuò)展了。可以為新系統(tǒng)開(kāi)發(fā)一個(gè)外觀Facade類(lèi),來(lái)提供設(shè)計(jì)粗糙或高度復(fù)雜的遺留代碼的比較清晰簡(jiǎn)單的接口,讓新系統(tǒng)與Facade對(duì)象交互,F(xiàn)acade與遺留代碼交互所有復(fù)雜的工作。
來(lái)自: 昵稱(chēng)10504424 > 《工作》
0條評(píng)論
發(fā)表
請(qǐng)遵守用戶(hù) 評(píng)論公約
深入理解JavaScript系列(30):設(shè)計(jì)模式之外觀模式
深入理解JavaScript系列(30):設(shè)計(jì)模式之外觀模式介紹。var addMyEvent = function (el, ev, fn) { if (el.addEventListener) { el.addEventListener(ev, fn, false);第三,在維護(hù)一個(gè)遺留的大型系統(tǒng)...
深入淺出外觀模式(一)
外觀模式是一種使用頻率非常高的結(jié)構(gòu)型設(shè)計(jì)模式,它通過(guò)引入一個(gè)外觀角色來(lái)簡(jiǎn)化客戶(hù)端與子系統(tǒng)之間的交互,為復(fù)雜的子系統(tǒng)調(diào)用提供一個(gè)...
GoF設(shè)計(jì)模式之十 Facade- -
B5) Facade(外觀模式) 定義:提供一個(gè)統(tǒng)一的連接子系統(tǒng)中一套接口的接口。代碼實(shí)現(xiàn)有點(diǎn)類(lèi)似建造者模式,區(qū)別在于,建造者模式目的在于以相同的構(gòu)建過(guò)程通過(guò)不同的建造者得到不同的結(jié)果,而外觀模...
Java設(shè)計(jì)模式-外觀(門(mén)面)模式
優(yōu)點(diǎn):減少了系統(tǒng)的依賴(lài).系統(tǒng)只依賴(lài)于被門(mén)面模式封裝好的高級(jí)接口,而不依賴(lài)于子系統(tǒng)的內(nèi)部接口.提高靈活性.子系統(tǒng)內(nèi)部的改變,不會(huì)對(duì)門(mén)面對(duì)象產(chǎn)生影響.提高安全性.將子系統(tǒng)內(nèi)部的實(shí)現(xiàn)透明化..fa...
設(shè)計(jì)模式之Facade--外觀模式
設(shè)計(jì)模式之Facade - 外觀模式TAGS: 設(shè)計(jì)模式 | Design Pattern LifevV.COM編輯部 Facade模式也叫外觀模式,是由GoF提出的23種設(shè)計(jì)模式中...
C#面向?qū)ο笤O(shè)計(jì)模式縱橫談:Facade 外觀模式
C#面向?qū)ο笤O(shè)計(jì)模式縱橫談:Facade 外觀模式C#面向?qū)ο笤O(shè)計(jì)模式縱橫談:Facade 外觀模式。為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,F(xiàn)ac...
設(shè)計(jì)模式之Facade(外觀 總管 Manager)
Facade模式的定義: 為子系統(tǒng)中的一組接口提供一個(gè)一致的界面.
設(shè)計(jì)模式【六】—— 裝飾者模式/組合模式/外觀模式
設(shè)計(jì)模式【六】—— 裝飾者模式/組合模式/外觀模式第八章 裝飾者模式8.1 定義。9.2 角色及職責(zé)Component:這是組合中對(duì)象聲明接口,在適當(dāng)情況下,實(shí)現(xiàn)所有類(lèi)共有的接口默認(rèn)行為,用于訪問(wèn)和管理 Compo...
設(shè)計(jì)模式之?外觀模式
設(shè)計(jì)模式之?外觀模式簡(jiǎn)介。外觀模式(Facade Pattern):外部與一個(gè)子系統(tǒng)的通信必須通過(guò)一個(gè)統(tǒng)一的外觀對(duì)象進(jìn)行,為子系統(tǒng)中的一組接口提...
微信掃碼,在手機(jī)上查看選中內(nèi)容