外觀模式是為了解決類與類之家的依賴關係的,降低了類類之間的耦合度,該模式中沒有涉及到介面
1、建立多個類
public class cpu
public void shutdown()
} public class memory
public void shutdown()
} public class disk
public void shutdown()
}
2、建立乙個類,持有以上類
public class computer
public void startup()
public void shutdown()
}
3、測試類
public class user
}
如果我們沒有computer類,那麼,cpu、memory、disk他們之間將會相互持有例項,產生關係,這樣會造成嚴重的依賴,修改乙個類,可能會帶來其他類的修改,這不是我們想要看到的,有了computer類,他們之間的關係被放在了computer類裡,這樣就起到了解耦的作用
ps:比如我們乙個商品對接專案的商品屬性類中持有乙個本方商品屬性類和乙個第三方商品屬性類
23種設計模式 外觀模式
隨著軟體的開發,元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。如何簡化外部客戶程式和系統間的互動介面?如何將外部客戶程式的演化和內部子系統的變化之間的依賴相互解耦?為子系統中的一組介面提供乙個一致 穩定 的介面,門面模式定義了乙...
深入理解23種設計模式 9 外觀模式
外觀模式 facade pattern 門面模式,隱藏系統的複雜性,並向客戶端提供了乙個客戶端可以訪問系統的介面,這種型別的設計模式屬於結構型模式,他向現有的系統新增乙個介面,來隱藏系統的複雜性,這種模式涉及到乙個單一的類,該類提供類乙個客戶端請求的簡化方法和對現有系統類方法對委託呼叫 傳送郵件 p...
23種設計模式(8) 外觀模式
定義 為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。角色 1,外觀 facade 角色 客戶端可以呼叫這個角色的方法。此角色知曉相關子系統的功能和責任。在正常情況下,本角色會將所有從客戶端發來的請求委派到相應的子系統去。2,子系統 s...