實在是不知道關於設計模式這個問題怎麼總結,因為看書遇到了,使用外觀設計模式的問題!這裡就順帶著說些吧!
我就不明確定義了,這個模式在很多框架中都會使用
首先就是顧名思義,「外觀」 假設我們有個收音機吧,我做了這個收音機,目的是讓使用者聽,但是我不想讓你知道系統中的細節,或者是系統中的很多細節對於乙個使用者來說是沒有必要知道的,畢竟不是誰都是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 客戶程式與抽象類的實現部分分...