java23種設計模式

java的設計模式大體上分為三大類:
創(chuàng)建型模式(5種):工廠方法模式卵酪,抽象工廠模式幌蚊,單例模式,建造者模式溃卡,原型模式溢豆。
結構型模式(7種):適配器模式,裝飾器模式瘸羡,代理模式漩仙,外觀模式,橋接模式犹赖,組合模式讯赏,享元模式。
行為型模式(11種):策略模式冷尉、模板方法模式、觀察者模式系枪、迭代子模式雀哨、責任鏈模式、命令模式私爷、備忘錄模式雾棺、狀態(tài)模式、訪問者模式衬浑、中介模式捌浩、解釋器模式。

設計模式遵循的原則有6個:
1工秩、開閉原則(Open Close Principle)
對擴展開放尸饺,對修改關閉。
2助币、里式代換原則(Liskov Substitution Principle)
只有當衍生類可以替換掉基類浪听,軟件單位功能不受到影響時,基類才能真正被復用眉菱,而衍生類也能夠在基類的基礎上增加新的行為迹栓。
3、依賴倒轉原則(Dependence Inversion principle)
這個是開閉原則的基礎俭缓,對接口編程克伊,依賴于抽象而不依賴于具體。
4华坦、接口隔離原則(Interface Segregation Principle)
使用多個隔離的接口來降低耦合度愿吹。
5、迪米特法則(最少知道原則)(Demeter Principle)
一個實體應當盡量少的與其他實體之間發(fā)生相互作用季春,使得系統(tǒng)功能模塊相對獨立洗搂。
6、合成復用原則(Composite Reuse Principle)
原則是盡量使用合成/聚合的方式,而不是使用繼承耘拇。繼承實際上破壞了類的封裝性撵颊,超類的方法可能會被子類修改。
簡單理解:
1.邏輯代碼獨立到單獨的方法中惫叛,注重封裝性--易讀倡勇,易復用。
2.寫類嘉涌,寫方法妻熊,寫功能時,應考慮其移植性仑最,復用性:防止一次性代碼扔役!
3.熟練運用繼承的思想:
找出應用中可能需要變化之處,把它們獨立出來警医,不要和那些不需要變化的代碼混在一起亿胸。

1。工廠模式(Factory Method)
常用的工廠模式是靜態(tài)工廠预皇,利用static方法侈玄,作為一種類似于常見的工具類Utils等輔助效果,一般情況下工廠類不需要實例化吟温。

interface food{}

class A implements food{}
class B implements food{}
class C implements food{}

public class StaticFactory {

    private StaticFactory(){}
    
    public static food getA(){  return new A(); }
    public static food getB(){  return new B(); }
    public static food getC(){  return new C(); }
}

class Client{
    //客戶端代碼只需要將相應的參數(shù)傳入即可得到對象
    //用戶不需要了解工廠類內部的邏輯序仙。
    public void get(String name){
        food x = null ;
        if ( name.equals("A")) {
            x = StaticFactory.getA();
        }else if ( name.equals("B")){
            x = StaticFactory.getB();
        }else {
            x = StaticFactory.getC();
        }
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鲁豪,隨后出現(xiàn)的幾起案子潘悼,更是在濱河造成了極大的恐慌,老刑警劉巖呈昔,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挥等,死亡現(xiàn)場離奇詭異,居然都是意外死亡堤尾,警方通過查閱死者的電腦和手機肝劲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來郭宝,“玉大人辞槐,你說我怎么就攤上這事≌呈遥” “怎么了榄檬?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長衔统。 經常有香客問我鹿榜,道長海雪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任舱殿,我火速辦了婚禮奥裸,結果婚禮上,老公的妹妹穿的比我還像新娘沪袭。我一直安慰自己湾宙,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布冈绊。 她就那樣靜靜地躺著侠鳄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪死宣。 梳的紋絲不亂的頭發(fā)上伟恶,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音毅该,去河邊找鬼知押。 笑死,一個胖子當著我的面吹牛鹃骂,可吹牛的內容都是我干的。 我是一名探鬼主播罢绽,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼畏线,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了良价?” 一聲冷哼從身側響起寝殴,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎明垢,沒想到半個月后蚣常,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡痊银,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年抵蚊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溯革。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡贞绳,死狀恐怖,靈堂內的尸體忽然破棺而出致稀,到底是詐尸還是另有隱情冈闭,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布抖单,位于F島的核電站萎攒,受9級特大地震影響遇八,放射性物質發(fā)生泄漏。R本人自食惡果不足惜耍休,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一刃永、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧羹应,春花似錦揽碘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至裸违,卻和暖如春掖桦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背供汛。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工枪汪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人怔昨。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓雀久,卻偏偏與公主長得像,于是被迫代替她去往敵國和親趁舀。 傳聞我的和親對象是個殘疾皇子赖捌,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容

  • 楷楷今天取了一份重量板的工作,這可是楷楷第一次接觸重量板哦矮烹!他取了小的工作毯越庇,在把工作取來放在工作毯上。Ida閉上...
    ic班閱讀 380評論 0 0
  • 大家好桑驱,歡迎收聽《好郝說話》,我是郝十三郎跛蛋。 昨天碰纬,以前認識的一個老鄉(xiāng)小妹,突然在微信留言說问芬,她找對象了悦析。當然,首...
    好郝說話閱讀 229評論 0 1
  • 哎呦呦 好像一不小心感冒了 不過據(jù)說每個人每年感冒才是健康的 可能之前忙過一陣 現(xiàn)在閑一點下來了 2223 人民的...
    角落蜷縮閱讀 69評論 0 0
  • 想要有所得必然有所失此衅。塞翁失馬焉知非福强戴。 當你把注意力集中在你想獲得的那件事情后亭螟,你必調動精力精神力行此事,勞其筋...
    無分別的愛閱讀 111評論 0 0