【正文】
數(shù)據(jù)庫(kù) JDBC的應(yīng)用。 Java設(shè)計(jì)模式 適配器模式 ?結(jié)構(gòu)模式 適配器模式( Adapter) 如何將兩個(gè)不兼容的類糾合在一起使用,通常的解決方案是:修改各自類的接口,但是如果我們沒(méi)有源代碼,或者我們不愿意為了一個(gè)應(yīng)用而修改各自的接口,怎么辦 ? Java設(shè)計(jì)模式 組合模式 ?結(jié)構(gòu)模式 組合模式( Composite) 將對(duì)象組合成樹(shù)形結(jié)構(gòu)以表示“整體 — 部分”的層次結(jié)構(gòu)。 Composite將遍歷 (Iterator)整個(gè)樹(shù)形結(jié)構(gòu),尋找同樣包含這個(gè)方法的對(duì)象并實(shí)現(xiàn)調(diào)用執(zhí)行。它是通過(guò)創(chuàng)建一個(gè)包裝對(duì)象,也就是裝飾來(lái)包裹真實(shí)的對(duì)象。}C o m c r e t e D e c o r a t o r AA d d e d S t a t e+op e ra t ion ( ) : v oi dC o m c r e t e D e c o r a t o r B+op e ra t ion ( ) : v oi d+a d d B e h a v ior ( )p u b lic v oi d op e ra t ion ( ) { s u p e r. op e ra t ion ( ) 。}結(jié)構(gòu)模式 裝飾模式 ?裝飾模式 特點(diǎn) ? 比 繼承更靈活 從 為對(duì)象添加功能的角度來(lái)看,裝飾模式比繼承來(lái)得更靈活。而裝飾模式采用把功能分離到每個(gè)裝飾器當(dāng)中,然后通過(guò)對(duì)象組合的方式,在運(yùn)行時(shí)動(dòng)態(tài)的組合功能,每個(gè)被裝飾的對(duì)象,最終有哪些功能,是由運(yùn)行期動(dòng)態(tài)組合的功能來(lái)決定的。 ? 簡(jiǎn)化高層定義 裝飾 模式可以通過(guò)組合裝飾器的方式,給對(duì)象增添任意多的功能,因此在進(jìn)行高層定義的時(shí)候,不用把所有的功能都定義出來(lái),而是定義最基本的就可以了,可以在使用需要的時(shí)候,組合相應(yīng)的裝飾器來(lái)完成需要的功能。 Java設(shè)計(jì)模式 橋接模式 ?結(jié)構(gòu)模式 橋接模式( Bridge) Bridge模式是一種抽象與其實(shí)現(xiàn)相分離的模式。 Java設(shè)計(jì)模式 享元模式 ?結(jié)構(gòu)模式 享元模式( Flyweight) 運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度對(duì)象。 Flyweight模式是一個(gè)提高程序效率和性能的模式,會(huì)大大加快程序的運(yùn)行速度。 Java設(shè)計(jì)模式 行為模式 ?行為模式 ? 模板模式( Template) ? 備忘機(jī)制模式( Memento) ? 觀察者模式( Observer) ? 職責(zé)鏈模式( ChainofResponsibility) ? 命令模式( Command) ? 狀態(tài)模式( State) ? 策略 模式( Strategy) ? 中介者 模式( Mediator) ? 解釋器 模式( Interpreter) ? 參觀者模式( Visitor) Java設(shè)計(jì)模式 行為模式 ?行為模式 觀察者模式( Observer) 定義 對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都將得到通知并自動(dòng)更新 。 行為模式 觀察者模式 ?觀察者模式 UML S ubje c tob s e rv e rs L is t : L is t+a t t a c h ( O b s e rv e r) : v oi d+d e t a c h ( O b s e rv e r) : v oi d+n ot if y O b s e rv e rs ( ) : v oi dC o nc r e t e S ubje c ts t a t e : S t ri n g+c h a n g e ( ) : v oi dO b s e r v e ri n t e rf a c e +u p d a t e ( ) : v oi dC o nc r e t e O b s e r v e r+u p d a t e ( ) : v oi d0. . *p u b lic v oi d c h a n g e ( S t ri n g n e w S t a t e ) { t h is . s t a t e = n e w S t a t e 。}行為模式 觀察者模式 ?觀察者模式 特點(diǎn) ? 優(yōu)點(diǎn): ? 觀察者模式在被觀察者和觀察者之間建立一個(gè)抽象的耦合。被觀察者并不認(rèn)識(shí)任何一個(gè)具體觀察者,它只知道它們都有一個(gè)共同的接口。如果被觀察者和觀察者都被扔到一起,那么這個(gè)對(duì)象必然跨越抽象化和具體化層次。被觀察者會(huì)向所有的登記過(guò)的觀察者發(fā)出通知 ? 缺點(diǎn): ? 如果一個(gè)被觀察者對(duì)象有很多的直接和間接的觀察者的話,將所有的觀察者都通知到會(huì)花費(fèi)很多時(shí)間。在使用觀察者模式是要特別注意這一點(diǎn)。 ? 雖然觀察者模式可以隨時(shí)使觀察者知道所觀察的對(duì)象發(fā)生了變化,但是觀察者模式?jīng)]有相應(yīng)的機(jī)制使觀察者知道所觀察的對(duì)象是怎么發(fā)生變化的。 策略模式 UML圖 策略模式特點(diǎn) ?優(yōu)點(diǎn) : ?提供 了一種替代繼承的方法,而且既保持了繼承的優(yōu)點(diǎn) (代碼重用 )還比繼承更靈活 (算法獨(dú)立,可以任意擴(kuò)展 )。 ?遵守 大部分 GRASP原則和常用設(shè)計(jì)原則,高內(nèi)聚、低偶合。 46 Question? ? 請(qǐng)?zhí)顚?xiě)反饋表 THANK YOU