設計模式之外觀模式(Facade)

2021-08-28 21:56:30 字數 1105 閱讀 6706

場景

病人去醫院看病,首先病人必須先**,然後門診。如果醫生要求化驗,病人必須首先劃價,然後繳費,才可以到化驗部門做化驗。化驗後再回到門診室。

解決這種不便的方法便是引進外觀模式,醫院可以設定乙個接待員的位置,由接待員負責代為**、劃價、繳費、取藥等。這個接待員就是外觀模式的體現,病人只接觸接待員,由接待員與各個部門打交道。

這篇文章對外觀模式講的不錯

門診

public

class

outpatient

//**科

public

void

dermatology()

}

**

public

class

registration

//**科

public

void

dermatology()

}

繳費

public

class

pay}

取藥

public

class

medicine

}

接待員進行封裝

public

class

facade

public

void

ent(

)public

void

dermatology()

}

測試

public

class

}

類圖

使用外觀模式還有乙個附帶的好處,就是能夠有選擇性地暴露方法

外觀模式的目的不是給予子系統新增新的功能介面,而是為了讓外部減少與子系統內多個模組的互動,鬆散耦合,從而讓外部能夠更簡單地使用子系統。

外觀模式的本質是:封裝互動,簡化呼叫。

設計模式之外觀模式(Facade)

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

設計模式之外觀模式Facade

什麼是外觀模式,我想大家在網上一搜就有一大把結果,告訴你什麼是外觀模式,可能定義不完全一樣,但是意思確差不多,也就是它為子系統中的一組介面提供了乙個統一的介面 或者叫做介面 這樣的好處就是隱藏了子系統的細節。下面就簡單的談談我本人對該模式的使用和理解 1 為什麼要用這個東西 比如一,當你在設計分層架...

設計模式之外觀模式(Facade)

外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面。看下類圖 我們以乙個計算機的啟動過程為例 我們先看下實現類 public class cpu pu...