Java常用的設(shè)計(jì)模式有哪些?
對(duì)于項(xiàng)目開發(fā)過(guò)程遇到的不斷重復(fù)性的問(wèn)題,經(jīng)過(guò)反復(fù)使用的代碼設(shè)計(jì)經(jīng)驗(yàn),提取出設(shè)計(jì)模式,給我們提供該類問(wèn)題的核心解決方案。運(yùn)用設(shè)計(jì)模式可以完美的解決很多問(wèn)題,使得代碼編寫工程化,讓代碼更容易被他人理解、提高代碼復(fù)用性、保證代碼可靠性。
Java設(shè)計(jì)模式分為三大類型,包括創(chuàng)建型模式,結(jié)構(gòu)型模式,行為型模式。創(chuàng)建型模式就是創(chuàng)建對(duì)象的模式,主要用于描述如何創(chuàng)建對(duì)象,抽象了實(shí)例化的過(guò)程。結(jié)構(gòu)型模式是為解決怎樣組裝現(xiàn)有的類,主要用于描述如何實(shí)現(xiàn)類或?qū)ο蟮慕M合,設(shè)計(jì)他們的交互方式,從而達(dá)到實(shí)現(xiàn)一定的功能。行為型模是對(duì)在不同的對(duì)象之間劃分責(zé)任和算法的抽象化,主要用于描述類或?qū)ο笤鯓咏换ヒ约霸鯓臃峙渎氊?zé),行為型模式不僅僅關(guān)注類和對(duì)象的結(jié)構(gòu),而且重點(diǎn)關(guān)注他們之間的相互作用,通過(guò)行為型模式,可以更加清晰地劃分類與對(duì)象的職責(zé),并研究系統(tǒng)在運(yùn)行時(shí)實(shí)例對(duì)象之間的交互。
每大類設(shè)計(jì)模式都會(huì)有具體的設(shè)計(jì)模式,其中創(chuàng)建型模式共5種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式;結(jié)構(gòu)型模式:共7種:適配器模式、裝飾器模式、代理模式、橋接模式、外觀模式、組合模式、享元模式;行為型模式:共11種:策略模式、模板方法模式、觀察者模式、責(zé)任鏈模式、訪問(wèn)者模式、中介者模式、迭代器模式、命令模式、狀態(tài)模式、備忘錄模式、解釋器模式。
每種模式在現(xiàn)實(shí)中都有相應(yīng)的原理來(lái)與之對(duì)應(yīng),在項(xiàng)目中也是通常解決某一類問(wèn)題。設(shè)計(jì)模式極其抽象難以理解,只有結(jié)合具體案例或者實(shí)戰(zhàn)代碼,才能深入理解設(shè)計(jì)模式,在以后項(xiàng)目中遇到問(wèn)題靈活應(yīng)用。所以設(shè)計(jì)模式建議大家進(jìn)行專業(yè)的系統(tǒng)學(xué)習(xí),有經(jīng)驗(yàn)的老師通過(guò)生動(dòng)而典型的案例,深入淺出的讓大家更好的理解和掌握設(shè)計(jì)模式,否則只是紙上談兵,無(wú)法應(yīng)用于實(shí)戰(zhàn)項(xiàng)目中,或者在實(shí)戰(zhàn)項(xiàng)目中,無(wú)法更好理解框架代碼。
|