【Design pattern】设计模式思路总结(一)
看了一周的設(shè)計(jì)模式,跟著小菜的思路走!
從簡(jiǎn)單工廠過(guò)渡策略,后面看的這幾個(gè)模式都是在單一職責(zé),開(kāi)放——封閉原則,依賴倒轉(zhuǎn)原則下不斷的改進(jìn),采用模式寫(xiě)出的代碼更容易擴(kuò)展,維護(hù)!
比較容易懂。
裝飾模式:一開(kāi)始我想為什么不用簡(jiǎn)單工廠/策略,后來(lái)發(fā)現(xiàn)服飾類并不是人類的子類,所以不能繼承人類。服飾類不斷的增加,所有就要抽象隔離這種變化,服飾類的特點(diǎn):子類調(diào)用順序和調(diào)用與否是不確定,通過(guò)調(diào)用服飾類來(lái)間接調(diào)用服飾類子類!
代理模式:
代理和追求者中都實(shí)現(xiàn)接口
實(shí)現(xiàn)的方式不同
追求者:通過(guò)代碼實(shí)現(xiàn)了接口
代理:通過(guò)在自己的類中調(diào)用追求者的方法實(shí)現(xiàn)接口
代理的存在使得訪問(wèn)對(duì)象變間接,但這種間接的好處,我還沒(méi)有具體用到,用到再體會(huì)吧!
工廠模式:從簡(jiǎn)單工廠——工廠——抽象工廠,都采用“工廠”。
簡(jiǎn)單工廠:解決子類實(shí)例化太多的問(wèn)題,子類繼承父類
工廠:抽象接口,子類實(shí)現(xiàn)接口,子類只是為了實(shí)現(xiàn)這個(gè)接口而繼承,不是父子關(guān)系
抽象工廠:增加產(chǎn)品個(gè)數(shù),所有的父類子類不再是為單個(gè)功能,要能夠適應(yīng)多種功能的變化!
原型模式:
這里第一次接觸到可以直接調(diào)用的模式,從一個(gè)對(duì)象在創(chuàng)建另一個(gè)可定制對(duì)象而不需要知道創(chuàng)建細(xì)節(jié),從傳值——傳引用,傳引用中從淺復(fù)制——深復(fù)制!一步步改進(jìn)面對(duì)對(duì)象!
模板模式:
最大程度的讓重復(fù)代碼上升到父類
適用于完成某一細(xì)節(jié)層次一致的一個(gè)過(guò)程或一系列步驟,但更詳細(xì)的步驟在更詳細(xì)的層次上實(shí)現(xiàn)可能不同時(shí),考慮模板方法!
外觀模式
多個(gè)類,他們有相同的方法,使用時(shí)各自調(diào)用,但可以同時(shí)調(diào)用
將多個(gè)類在同一個(gè)類中實(shí)例化,統(tǒng)一調(diào)用方法,在三層架構(gòu)中,層與層分離,在層與層之間使用這種模式!
建造者模式:創(chuàng)建一些復(fù)雜的對(duì)象,對(duì)象內(nèi)部構(gòu)件間的建造順序通常是穩(wěn)定的,但對(duì)象構(gòu)件通常面臨復(fù)雜變化
建造者類:
1.人類(父類),部分用抽象表示
2.不同類型的人類,各自表示出來(lái)
3.指揮者建造人類中包含了一個(gè)人類構(gòu)件的所有步驟
指揮者用來(lái)指揮建造過(guò)程,控制建造順序;建造者負(fù)責(zé)建造不同類型內(nèi)部的構(gòu)件!
觀察者模式:一對(duì)多的依賴關(guān)系,過(guò)個(gè)觀察者依賴一個(gè)主題對(duì)象,在主題對(duì)象發(fā)生變化,通知所有觀察者對(duì)象更新自己!
在不斷解耦的過(guò)程中,用到了委托,主題對(duì)象將自己不能完成的事通過(guò)委托讓能夠完成這件事的觀察者完成!
狀態(tài)模式:
由于類中的方法過(guò)長(zhǎng)
為了消除強(qiáng)大的條件分支語(yǔ)句
當(dāng)一個(gè)對(duì)象的行為取決于它的狀態(tài),并且它必須在運(yùn)行時(shí)刻根據(jù)狀態(tài)改變它的行為時(shí),就可以考慮使用狀態(tài)模式
適配器模式:
預(yù)防接口不匹配的問(wèn)題
總結(jié)
以上是生活随笔為你收集整理的【Design pattern】设计模式思路总结(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Design pattern】简单工厂
- 下一篇: 【Design pattern】设计模式