設(shè)計模式

設(shè)計模式的六大原則

  • 開閉原則
    對擴展開放灶泵,對修改關(guān)閉。
  • 里氏代換原則
    任何出現(xiàn)基類的地方都可以用其子類去替換刨秆。
  • 依賴倒轉(zhuǎn)原則
    依賴抽象而不依賴具體實現(xiàn)囱井。
  • 接口隔離原則
    盡量使用多個隔離的接口而不是單個接口來降低耦合。
  • 迪米特法則
    一個實體應(yīng)該盡量少的與其它實體間有任何關(guān)系六剥,使得類和模塊間相互獨立晚顷。
  • 合成復(fù)用原
    盡量使用合成/聚合的方式而不是繼承來復(fù)用原有類的特性功能。

結(jié)構(gòu)型模式

適配器模式

把原有類的功能進行封裝疗疟,轉(zhuǎn)換成另一個接口的實現(xiàn)该默。使能通過調(diào)用新接口來調(diào)用原有類的功能

Paste_Image.png

class Original

public class Original{
  
  public void originalMethod(){
    //原始功能實現(xiàn)
  }

}

interface Target

  public interface Target{
    
    void newMethod();
  }

Class Adapter

  public class Adapter{
    private Original original;
    public Adapter(Original original){
      this.original = original;
    }
    @Override
    public void newMethod(){
      original.originalMethod();
    }
  }

裝飾模式

裝飾類和被裝飾類實現(xiàn)相同的接口,裝飾類通過持有被裝飾類的實例來動態(tài)增強被裝飾類的功能

Paste_Image.png

interface Common

  public interface Common{
    
    void commonMethod();
  }

Class Source

  public class Source implements Common{
    
    @Override
    public void commonMethod(){

    }
  }

class Decorator

  public class Decorator implements Common{
    private Source source;
    public Adapter(Source source){
      this.source = source;
    }
    @Override
    public void commonMethod(){
      //增強邏輯
      ......
      source.commonMethod();
      //增強邏輯
      ......
    }
  }

代理模式

代理對象提供一層封裝來控制對被代理對象的訪問
與裝飾模式的實現(xiàn)基本相同策彤,不同點是:裝飾模式關(guān)注的是對被裝飾模式功能的增強栓袖,被裝飾模式一定會執(zhí)行匣摘。代理模式關(guān)注的是對被代理對象的訪問控制,被代理模式不一定會執(zhí)行裹刮。

外觀模式

通過對一系列復(fù)雜有一定關(guān)聯(lián)性的邏輯進行封裝音榜,解除他們之間的依賴性,屏蔽底層復(fù)雜的細節(jié)捧弃,對外提供一個統(tǒng)一的簡單的接口
例如:回家之后就要把家里的燈打開赠叼,空調(diào)打開,熱水器打開违霞。離開家的時候又要把所有的燈嘴办,空調(diào),熱水器都關(guān)了买鸽。

Paste_Image.png

class Light

  public class Light{
    public void start(){
      
    }
     public void stop(){
      
    }
  }

class Facader

  public class Facader{
    Light light;
    Conditinor conditionorl
    WaterHeader waterHeader;
    public Facader(){
      light = new Light();
      conditionor = new Conditionor();
      waterHeader = new WaterHeader();
    }
    public void start(){
      light.start();
      conditionor.start();
      waterHeader.start();
    }
    public void stop(){
      light.stop();
      conditionor.stop();
      waterHeader.stop();
    }
  }

簡單記錄自己對設(shè)計模式相關(guān)的理解涧郊,便于復(fù)習用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市癞谒,隨后出現(xiàn)的幾起案子底燎,更是在濱河造成了極大的恐慌刃榨,老刑警劉巖弹砚,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異枢希,居然都是意外死亡桌吃,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門苞轿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茅诱,“玉大人,你說我怎么就攤上這事搬卒∩螅” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵契邀,是天一觀的道長摆寄。 經(jīng)常有香客問我,道長坯门,這世上最難降的妖魔是什么微饥? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮古戴,結(jié)果婚禮上欠橘,老公的妹妹穿的比我還像新娘。我一直安慰自己现恼,他們只是感情好肃续,可當我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布黍檩。 她就那樣靜靜地躺著,像睡著了一般始锚。 火紅的嫁衣襯著肌膚如雪建炫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天疼蛾,我揣著相機與錄音肛跌,去河邊找鬼。 笑死察郁,一個胖子當著我的面吹牛衍慎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播皮钠,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼稳捆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了麦轰?” 一聲冷哼從身側(cè)響起乔夯,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎款侵,沒想到半個月后末荐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡新锈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年甲脏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妹笆。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡块请,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拳缠,到底是詐尸還是另有隱情墩新,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布窟坐,位于F島的核電站海渊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏狸涌。R本人自食惡果不足惜切省,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帕胆。 院中可真熱鬧朝捆,春花似錦、人聲如沸懒豹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至儒老,卻和暖如春蝴乔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驮樊。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工薇正, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人囚衔。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓挖腰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親练湿。 傳聞我的和親對象是個殘疾皇子猴仑,可洞房花燭夜當晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容