外觀 Facade)設計模式

2021-06-06 07:37:23 字數 1419 閱讀 5660

實在是不知道關於設計模式這個問題怎麼總結,因為看書遇到了,使用外觀設計模式的問題!這裡就順帶著說些吧!

我就不明確定義了,這個模式在很多框架中都會使用

首先就是顧名思義,「外觀」 假設我們有個收音機吧,我做了這個收音機,目的是讓使用者聽,但是我不想讓你知道系統中的細節,或者是系統中的很多細節對於乙個使用者來說是沒有必要知道的,畢竟不是誰都是geek對吧!

那我怎麼辦呢?我會做個殼子,然後弄些按鈕,目的是什麼呢?目的就是讓作為使用者的你只能點點按按什麼的,不讓你直接調整我其中的引數。

這樣乙個典型的外觀設計模式就出來了。

為子系統的部分或者全部介面提供乙個統一的訪問介面 ,當然我們要訪問的統一介面也就是外觀啦

uml圖俺就不畫了,來點**看看吧~

先是client的

package com.baobaoyeye.test;

import com.baobaoyeye.test.facade.facade;

/** * @author baobaoyeye

* */

public class client

}

package com.baobaoyeye.test.facade;

/** * @author baobaoyeye

* */

public class facade

public void pause()

public void stop()

}

package com.baobaoyeye.test.facade;

/** * @author baobaoyeye

* */

public class sub1

public void run()

public void destorysub1()

}

package com.baobaoyeye.test.facade;

/** * @author baobaoyeye

* */

public class sub2

public void pause()

public void destorysub2()

}

package com.baobaoyeye.test.facade;

/** * @author baobaoyeye

* */

public class sub3

public void stop()

public void destorysub3()

}

設計模式 外觀模式(Facade)

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

設計模式 外觀 Facade 模式

insus.net在去年有寫過一篇 軟體研發公司,外觀設計模式 facade 例中寫得過於簡單與抽象。沒有實質內容似的。這次想再寫乙個。希望能再次加強。為子系統中的一組介面提供乙個統一的高層介面,使客戶使用子系統更容易這是外觀 facade 模式的精髓。在實現之前,可以先看看這篇 web控制項文字框...

設計模式 外觀模式Facade

前言 模式總覽 by xingoo 外觀模式主要是為了為一組介面提供乙個一致的介面。從而使得複雜的子系統與使用者端分離解耦。有點類似家庭常用的一鍵開關,只要按乙個鍵,檯燈臥室客廳的燈都亮了。雖然他們各有各自的開關,但是對外用乙個來控制。1 為複雜系統 提供簡單的介面。2 客戶程式與抽象類的實現部分分...