java面试题31:结构型模式中最体现扩展性的模式是()
java面試題31:結(jié)構(gòu)型模式中最體現(xiàn)擴(kuò)展性的模式是()
A:裝飾模式 B:合成模式 C:橋接模式 D:適配器蒙蔽樹上蒙蔽果,蒙蔽樹下你和我
結(jié)構(gòu)型模式是描述如何將類對象結(jié)合在一起,形成一個(gè)更大的結(jié)構(gòu),結(jié)構(gòu)模式描述兩種不同的東西:類與類的實(shí)例。故可以分為類結(jié)構(gòu)模式和對象結(jié)構(gòu)模式。
在GoF設(shè)計(jì)模式中,結(jié)構(gòu)型模式有:
1.適配器模式 Adapter
? 適配器模式是將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
? 兩個(gè)成熟的類需要通信,但是接口不同,由于開閉原則,我們不能去修改這兩個(gè)類的接口,所以就需要一個(gè)適配器來完成銜接過程。
2.橋接模式 Bridge
? 橋接模式將抽象部分與它的實(shí)現(xiàn)部分分離,是它們都可以獨(dú)立地變化。它很好的支持了開閉原則和組合鋸和復(fù)用原則。實(shí)現(xiàn)系統(tǒng)可能有多角度分類,每一種分類都有可能變化,那么就把這些多角度分離出來讓他們獨(dú)立變化,減少他們之間的耦合。
3.組合模式 Composite
? 組合模式將對象組合成樹形結(jié)構(gòu)以表示部分-整體的層次結(jié)構(gòu),組合模式使得用戶對單個(gè)對象和組合對象的使用具有一致性。
4.裝飾模式 Decorator
裝飾模式動態(tài)地給一個(gè)對象添加一些額外的職責(zé),就增加功能來說,它比生成子類更靈活。也可以這樣說,裝飾模式把復(fù)雜類中的核心職責(zé)和裝飾功能區(qū)分開了,這樣既簡化了復(fù)雜類,有去除了相關(guān)類中重復(fù)的裝飾邏輯。 裝飾模式?jīng)]有通過繼承原有類來擴(kuò)展功能,但卻達(dá)到了一樣的目的,而且比繼承更加靈活,所以可以說裝飾模式是繼承關(guān)系的一種替代方案。
5.外觀模式 Facade
?外觀模式為子系統(tǒng)中的一組接口提供了同意的界面,外觀模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。
外觀模式中,客戶對各個(gè)具體的子系統(tǒng)是不了解的,所以對這些子系統(tǒng)進(jìn)行了封裝,對外只提供了用戶所明白的單一而簡單的接口,用戶直接使用這個(gè)接口就可以完成操作,而不用去理睬具體的過程,而且子系統(tǒng)的變化不會影響到用戶,這樣就做到了信息隱蔽。
6.享元模式 Flyweight
?享元模式為運(yùn)用共享技術(shù)有效的支持大量細(xì)粒度的對象。因?yàn)樗梢酝ㄟ^共享大幅度地減少單個(gè)實(shí)例的數(shù)目,避免了大量非常相似類的開銷。.
??????享元模式是一個(gè)類別的多個(gè)對象共享這個(gè)類別的一個(gè)對象,而不是各自再實(shí)例化各自的對象。這樣就達(dá)到了節(jié)省內(nèi)存的目的。
7.***模式 Proxy? ?
為其他對象提供一種***,并由***對象控制對原對象的引用,以間接控制對原對象的訪問。
答案A
我是歌謠,如有不合理之處歡迎吐槽。一起學(xué)習(xí),共同成長
閱讀目錄(置頂)(長期更新計(jì)算機(jī)領(lǐng)域知識)
閱讀目錄(置頂)(長期更新計(jì)算機(jī)領(lǐng)域知識)
閱讀目錄(置頂)(長期科技領(lǐng)域知識)
歌謠帶你看java面試題
總結(jié)
以上是生活随笔為你收集整理的java面试题31:结构型模式中最体现扩展性的模式是()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国内稳定的暗黑2服务器,国内暗黑2战网的
- 下一篇: JDK 8 新特性 之 Lambda表达