個(gè)人理解
??? 工作幾年了芦缰,對(duì)設(shè)計(jì)模式的理解還是只停留在課本上的知識(shí)而已,大大小小經(jīng)歷了3-4家公司了伏社,每家公司的面試題都少不了提一句設(shè)計(jì)模式抠刺,然而真正的工作中卻很少有人使用,主要是存在以下兩種原因:
1摘昌、為什么使用設(shè)計(jì)模式
2速妖、使用了設(shè)計(jì)模式別人閱讀代碼起來不方便
先回答第一個(gè)問題,設(shè)計(jì)模式可以拆成兩個(gè)詞來分析設(shè)計(jì)+模式聪黎,模式是指大多數(shù)人認(rèn)可的一套對(duì)問題的處理解決方案罕容,設(shè)計(jì)顧名思義,然而為什么要使用設(shè)計(jì)模式呢稿饰?對(duì)于java來說是一套面向?qū)ο蟮木幊陶Z言锦秒,然而設(shè)計(jì)模式就是用來聲明對(duì)象與對(duì)象之間的關(guān)系的方式;
第二個(gè)問題使用了設(shè)計(jì)模式會(huì)使代碼的可讀性變差喉镰,其實(shí)不是這樣的旅择,合理的使用設(shè)計(jì)模式會(huì)讓代碼的可讀性變得更好,也會(huì)增強(qiáng)代碼的可擴(kuò)展性侣姆,還記得java的3大特性嗎生真?封裝繼承多態(tài),設(shè)計(jì)模式就是將這三種特性發(fā)揮的淋漓盡致的方法捺宗;
當(dāng)然了柱蟀,說了這么多設(shè)計(jì)模式的好處,其實(shí)也不是所有的代碼都適合使用設(shè)計(jì)模式的蚜厉,想要合理的運(yùn)用設(shè)計(jì)模式也是不容易的长已,對(duì)于業(yè)務(wù)及其簡(jiǎn)單的增刪改查無需考慮擴(kuò)展的業(yè)務(wù)來說就沒必要使用設(shè)計(jì)模式了,現(xiàn)在很多小公司的一些系統(tǒng)就是這樣的業(yè)務(wù)模式昼牛,如果你工作已經(jīng)3年多了還是覺得設(shè)計(jì)模式?jīng)]什么用术瓮,那你想想自己是不是做了3年的增刪改查,想要靈活的運(yùn)用設(shè)計(jì)模式還需要開發(fā)人員對(duì)業(yè)務(wù)方向具有一定的前瞻性贰健,時(shí)不時(shí)的跟需求方搞好關(guān)系斤斧,平時(shí)閑聊的時(shí)候留點(diǎn)心。