Facade外觀模式

2021-08-30 19:14:08 字數 1090 閱讀 4638

facade外觀模式,是一種結構型模式,它主要解決的問題是:元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。在這裡我想舉乙個例子:比如,現在有一輛汽車,我們(客戶程式)要啟動它,那我們就要發動引擎(子系統1),使四個車輪(子系統2)轉動。但是實際中我們並不需要用手推動車輪使其轉動,我們踩下油門,此時汽車再根據一些其他的操作使車輪轉動。油門就好比系統給我們留下的介面,不論汽車是以何種方式轉動車輪,車輪變化成什麼牌子的,我們要開走汽車所要做的還是踩下油門。

gof《設計模式》中說道:為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。

façade外觀模式的結構大概是這樣的:

我就上面說的那個情形寫一下實現**,首先我們要實現三個子系統(wheel、engine、body):

package facade.childclass;

//子系統1-engine

public class engine

public string enginestop()

}

package facade.childclass;

//子系統2-wheel

public class wheel

public string wheelstop()

}

package facade.childclass;

public class body

} }

package facade;

import facade.childclass.body;

// 應用外觀模式

public class ca***cade

} public void stop()

} }

package facade;

public class programtest

}

外觀模式(Facade)

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

Facade外觀模式

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

Facade外觀模式

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