java設(shè)計(jì)模式面試題
你用過哪種設(shè)計(jì)模式?
設(shè)計(jì):design
模式:pattern
框架:framework
創(chuàng)建模式,結(jié)構(gòu)模式和行為模式
GoF設(shè)計(jì)模式
A.創(chuàng)建模式
設(shè)計(jì)模式之Factory(工廠模式)
使用工廠模式就象使用new一樣頻繁.
設(shè)計(jì)模式之Prototype(原型模式)
用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過拷貝這些原型創(chuàng)建新的對(duì)象。
設(shè)計(jì)模式之Builder
汽車由車輪 方向盤 發(fā)動(dòng)機(jī)很多部件組成,同時(shí),將這些部件組裝成汽車也是一件復(fù)雜的工作,Builder模式就是將這兩種情況分開進(jìn)行。
設(shè)計(jì)模式之Singleton(單態(tài)模式)
保證一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)
B.結(jié)構(gòu)模式
設(shè)計(jì)模式之Facade
可擴(kuò)展的使用JDBC針對(duì)不同的數(shù)據(jù)庫編程,Facade提供了一種靈活的實(shí)現(xiàn).
設(shè)計(jì)模式之Proxy
以Jive為例,剖析代理模式在用戶級(jí)別授權(quán)機(jī)制上的應(yīng)用
設(shè)計(jì)模式之Adapter
使用類再生的兩個(gè)方式:組合(new)和繼承(extends),這個(gè)已經(jīng)在"thinking in java"中提到過.
設(shè)計(jì)模式之Composite
就是將類用樹形結(jié)構(gòu)組合成一個(gè)單位.你向別人介紹你是某單位,你是單位中的一個(gè)元素,別人和你做買賣,相當(dāng)于和單位做買賣。文章中還對(duì)Jive再進(jìn)行了剖析。
設(shè)計(jì)模式之Decorator
Decorator是個(gè)油漆工,給你的東東的外表刷上美麗的顏色.
設(shè)計(jì)模式之Bridge
將"牛郎織女"分開(本應(yīng)在一起,分開他們,形成兩個(gè)接口),在他們之間搭建一個(gè)橋(動(dòng)態(tài)的結(jié)合)
設(shè)計(jì)模式之Flyweight
提供Java運(yùn)行性能,降低小而大量重復(fù)的類的開銷.
C.行為模式
設(shè)計(jì)模式之Template
實(shí)際上向你介紹了為什么要使用Java 抽象類,該模式原理簡(jiǎn)單,使用很普遍.
設(shè)計(jì)模式之Memento
很簡(jiǎn)單一個(gè)模式,就是在內(nèi)存中保留原來數(shù)據(jù)的拷貝.
設(shè)計(jì)模式之Observer
介紹如何使用Java API提供的.現(xiàn)成Observer
設(shè)計(jì)模式之Chain of Responsibility
各司其職的類串成一串,好象擊鼓傳花,當(dāng)然如果自己能完成,就不要推委給下一個(gè).
設(shè)計(jì)模式之Command
什么是將行為封裝,Command是最好的說明.
設(shè)計(jì)模式之State
狀態(tài)是編程中經(jīng)常碰到的實(shí)例,將狀態(tài)對(duì)象化,設(shè)立狀態(tài)變換器,便可在狀態(tài)中輕松切換.
設(shè)計(jì)模式之Strategy
不同算法各自封裝,用戶端可隨意挑選需要的算法.
設(shè)計(jì)模式之Mediator
Mediator很象十字路口的紅綠燈,每個(gè)車輛只需和紅綠燈交互就可以.
設(shè)計(jì)模式之Interpreter
主要用來對(duì)語言的分析,應(yīng)用機(jī)會(huì)不多.
設(shè)計(jì)模式之Visitor
訪問者在進(jìn)行訪問時(shí),完成一系列實(shí)質(zhì)性操作,而且還可以擴(kuò)展.
設(shè)計(jì)模式之Iterator
這個(gè)模式已經(jīng)被整合入Java的Collection.在大多數(shù)場(chǎng)合下無需自己制造一個(gè)Iterator,只要將對(duì)象裝入Collection中,直接使用Iterator進(jìn)行對(duì)象遍歷。
【java設(shè)計(jì)模式面試題】相關(guān)文章:
精選Java線程面試題06-15
java基礎(chǔ)面試題201711-13
華為Java面試題精選10-24
高級(jí)Java面試題匯總09-12
2016年JAVA面試題11-07
JAVA經(jīng)典面試題目匯總10-12
java程序員面試題08-27
最新java面試題及答案08-20