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

2021-07-29 19:22:47 字數 1070 閱讀 7117

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

public class cpu   

public void shutdown()

}

public class memory   

public void shutdown()

}

public class disk   

public void shutdown()

}

public class computer   

public void startup()

public void shutdown()

}

user類:

public class user   

}

輸出:start the computer!

cpu startup!

memory startup!

disk startup!

start computer finished!

begin to close the computer!

cpu shutdown!

memory shutdown!

disk shutdown!

computer closed!

如果我們沒有computer類,那麼,cpu、memory、disk他們之間將會相互持有例項,產生關係,這樣會造成嚴重的依賴,修改乙個類,可能會帶來其他類的修改,這不是我們想要看到的,有了computer類,他們之間的關係被放在了computer類裡,這樣就起到了解耦的作用,這,就是外觀模式!

結構型設計模式之外觀模式(門面模式,Facade)

先來看模擬一下女同胞們生育險報銷的過程,如下 準媽媽住院生孩子 醫院繳納費用 出院時辦理相關證明手續 拿著相關證明材料到公司,由公司進行資訊核實並上報 社保局將報銷費用返還 以上就是大致的乙個生育險的報銷過程,下面我們通過 來實現下 public inte ce ifertilityexpensep...

設計模式之外觀模式

外觀模式提供了乙個統一的介面,用來訪問子系統中的一群介面。這樣可以避免客戶端和子系統之間的緊耦合。這種模式需要將一系列的子系統組合到外觀中,然後將具體的工作交給各個子系統去完成。如此一來,可以簡化介面的呼叫。其本質就是將系統與客戶端互動的地方封裝起來。這個模式,總體來說,很簡單,理解起來也不困難。依...

設計模式之外觀模式

外觀模式 為子系統中的一組介面提供乙個一直的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。即通過乙個中類來完成客戶端的請求。拿機房收費系統的上機過程來說,上機需要顯示上機者的資訊,填寫上機狀態表,填寫上機記錄表。而使用者不需要知道這些功能是怎麼實現的,只需要通過介面操作就可以完...