外觀模式(Facade)

2021-06-08 10:26:23 字數 1864 閱讀 4264

1.    定義

為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。

2.      uml類圖

結構**

// facade pattern -- structural example

using system;

namespace dofactory.gangoffour.facade.structural

}///

///the 'subsystem classa' class

///class

subsystemone

}///

///the 'subsystem classb' class

///class

subsystemtwo

}///

///the 'subsystem classc' class

///class

subsystemthree

}///

///the 'subsystem classd' class

///class

subsystemfour

}///

///the 'facade' class

///class

facade

public

void methoda()

public

void methodb()}}

output

methoda() ----

subsystemone method

subsystemtwo method

subsystemfour method

methodb() ----

subsystemtwo method

subsystemthree method

4.      

例項**

// facade pattern -- real world example

using system;

namespace dofactory.gangoffour.facade.realworld

}///

///the 'subsystem classa' class

///class

bank

}///

///the 'subsystem classb' class

///class

credit

}///

///the 'subsystem classc' class

///class

loan

}///

///customer class

///class

customer

// gets the name

public

string name}}

///

///the 'facade' class

///class

mortgage

else

if (!_loan.hasnobadloans(cust))

else

if (!_credit.hasgoodcredit(cust))

return eligible;}}

} output

check bank for ann mckinsey

check loans for ann mckinsey

check credit for ann mckinsey

外觀模式(Facade)

外觀模式的定義是,為子系統中的一組介面提供乙個一致的inte ce介面介面。外觀模式是個很簡單,但很重要的模式,它主要思想是將表現層和邏輯層隔離,封裝底層的複雜處理,只為使用者提供簡單的介面,這樣的例子隨處可見。外觀模式也叫門面模式,它很多時候更是一種系統架構的設計,在我所做的專案中,就實現了門面模...

Facade外觀模式

facade外觀模式,是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。facade設計模式更注重從架構的層次去看整個系統,而不是單個類的層次。facade外觀模式,是一種結構型模式,它主要解決...

Facade外觀模式

facade外觀模式,是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。在這裡我想舉乙個例子 比如,現在有一輛汽車,我們 客戶程式 要啟動它,那我們就要發動引擎 子系統1 使四個車輪 子系統2 ...