Facade外觀模式

2022-02-17 17:07:24 字數 841 閱讀 4939

念:「佛薩德」。

看了幾個帖子: 、 、 

這外觀模式好像也太簡單了吧。

猿a要在專案裡加乙個**商品頁面,新建乙個aspx拖幾個datalist然後開始cs裡寫getdate(),但是這事要一會兒查資料庫,一會兒查使用者喜好,一會兒看產品列表,甚至還得看產品銷售額啥的,都在在getdate裡就太長了,更重要的是,說不定過兩天還要做乙個類似的「最熱商品頁面」,把這些邏輯都放在ui這裡也不好維護啊,於是,把這些亂七八糟的(查庫、查使用者喜好、看產品列表)東西單獨放到乙個地方(比如bll層),這就是外觀模式了。

例子就不舉了,看吧。

可是,平時我們不都這麼寫程式嗎,這也算「模式」?

terrylee大神說:

效果及實現要點

1.façade模式對客戶遮蔽了子系統元件,因而減少了客戶處理的物件的數目並使得子系統使用起來更加方便。

2.façade模式實現了子系統與客戶之間的松耦合關係,而子系統內部的功能元件往往是緊耦合的。松耦合關係使得子系統的元件變化不會影響到它的客戶。

3.如果應用需要,它並不限制它們使用子系統類。因此你可以在系統易用性與通用性之間選擇。

適用性

1.為乙個複雜子系統提供乙個簡單介面。

2.提高子系統的獨立性。

3.在層次化結構中,可以使用facade模式定義系統中每一層的入口。

總結

façade模式注重的是簡化介面,它更多的時候是從架構的層次去看整個系統,而並非單個類的層次。

簡而言之:facade對客戶遮蔽了子系統元件,提高了子系統的獨立性。至於從架構層次看整個系統,這一點還要使用中去體會。

外觀模式(Facade)

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

Facade外觀模式

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

Facade外觀模式

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