當前位置:才華齋>計算機>java語言>

Java的結構型模式

java語言 閱讀(1.99W)

Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。以下僅供參考!

Java的結構型模式

在GoF設計模式中,結構型模式有:

1.介面卡模式 Adapter

介面卡模式是將一個類的介面轉換客戶希望的另外一個介面。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。

兩個成熟的類需要通訊,但是介面不同,由於開閉原則,我們不能去修改這兩個類的介面,所以就需要一個介面卡來完成銜接過程。

2.橋接模式 Bridge

橋接模式將抽象部分與它的實現部分分離,是它們都可以獨立地變化。它很好的支援了開閉原則和組合鋸和複用原則。實現系統可能有多角度分類,每一種分類都有可能變化,那麼就把這些多角度分離出來讓他們獨立變化,減少他們之間的耦合。

3.組合模式 Composite

組合模式將物件組合成樹形結構以表示部分-整體的層次結構,組合模式使得使用者對單個物件和組合物件的使用具有一致性。

4.裝飾模式 Decorator

裝飾模式動態地給一個物件新增一些額外的職責,就增加功能來說,它比生成子類更靈活。也可以這樣說,裝飾模式把複雜類中的核心職責和裝飾功能區分開了,這樣既簡化了複雜類,有去除了相關類中重複的裝飾邏輯。 裝飾模式沒有通過繼承原有類來擴充套件功能,但卻達到了一樣的目的,而且比繼承更加靈活,所以可以說裝飾模式是繼承關係的一種替代方案。

5.外觀模式 Facade

外觀模式為子系統中的一組介面提供了同意的介面,外觀模式定義了一個高層介面,這個介面使得這一子系統更加容易使用。

外觀模式中,客戶對各個具體的`子系統是不瞭解的,所以對這些子系統進行了封裝,對外只提供了使用者所明白的單一而簡單的介面,使用者直接使用這個介面就可以完成操作,而不用去理睬具體的過程,而且子系統的變化不會影響到使用者,這樣就做到了資訊隱蔽。

6.享元模式 Flyweight

享元模式為運用共享技術有效的支援大量細粒度的物件。因為它可以通過共享大幅度地減少單個例項的數目,避免了大量非常相似類的開銷。

享元模式是一個類別的多個物件共享這個類別的一個物件,而不是各自再例項化各自的物件。這樣就達到了節省記憶體的目的。

7.代理模式 Proxy

為其他物件提供一種代理,並由代理物件控制對原物件的引用,以間接控制對原物件的訪問。