Java結構型模式講解?

Tags: 模式, 結構型,

Java設計模組共分為三個:建立型模式、結構型模式、行為模式。現在以通俗易懂的舉例方式來介紹結構型模式。

方法/步驟

BRIDGE舉例:早上碰到MM,要說早上好,晚上碰到MM,要說晚上好;碰到MM穿了件新衣服,要說你的衣服好漂亮哦,碰到MM新做的髮型,要說你的頭髮好漂亮哦。不要問我"早上碰到MM新做了個髮型怎麼說"這種問題,自己用BRIDGE組合一下不就行了。

橋樑模式:將抽象化與實現化脫耦,使得二者可以獨立的變化,也就是說將他們之間的強關聯變成弱關聯,也就是指在一個軟體系統的抽象化和實現化之間使用組合/聚合關係而不是繼承關係,從而使兩者可以獨立的變化。

FACADE舉例;我有一個專業的單反相機,喜歡自己手動調光圈、快門,這樣照出來的照片才專業,但MM可不懂這些,教了半天也不會。幸好相機有Facade設計模式,把相機調整到自動檔,只要對準目標按快門就行了,一切由相機自動調整。門面模式:外部與一個子系統的通訊必須通過一個統一的門面物件進行。門面模式提供一個高層次的介面,使得子系統更易於使用。每一個子系統只有一個門面類,而且此門面類只有一個例項,也就是說它是一個單例模式。但整個系統可以有多個門面類。

DECORATOR舉例;最好的朋友過生日,可是這個月我“手頭有點緊”怎麼辦?拿出我們去年去旅遊的相片,在背面寫上:最好的禮物,就是我們共同擁有的美好回憶,然後再去禮品店找個漂亮的相框表起來……我們都是Decorator,最終都在修飾我這個人呀,怎麼樣,看懂了嗎?

裝飾模式:裝飾模式以對客戶端透明的方式擴充套件物件的功能,是繼承關係的一個替代方案,提供比繼承更多的靈活性。動態給一個物件增加功能,這些功能可以再動態的撤消。增加由一些基本功能的排列組合而產生的非常大量的功能。

ADAPTER-在朋友聚會上碰到了一個異國美女,可是我們倆語言不通,只要求助我的朋友當翻譯,當溝通橋樑。

介面卡(變壓器)模式:把一個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面原因不匹配而無法一起工作的兩個類能夠一起工作。適配類可以根據引數返還一個合適的例項給客戶端。

相關問題答案