b2c購物網(wǎng)站系統(tǒng)百度客服24小時(shí)人工服務(wù)在線咨詢
文章目錄
- 設(shè)計(jì)模式三大類型統(tǒng)一區(qū)分與記憶指南
- **一、創(chuàng)建型模式(對(duì)象如何生?)**
- **二、結(jié)構(gòu)型模式(對(duì)象如何組?)**
- **三、行為型模式(對(duì)象如何動(dòng)?)**
- **1. 行為型類模式(靠繼承)**
- **2. 行為型對(duì)象模式(靠組合)**
- **四、統(tǒng)一對(duì)比表**
- **五、終極記憶技巧**
設(shè)計(jì)模式三大類型統(tǒng)一區(qū)分與記憶指南
讓思想碎片重?zé)ㄉ鷻C(jī)的靈魂:
行為模式分三類,每一類又有好多不同的模式,特別是行為式模式,還要區(qū)分成行為型類模式,和行為型對(duì)象模式,好難去記憶和理解,你想想辦法幫幫我
這只是把行為型類模式和行為型對(duì)象模式區(qū)分了,其他兩種結(jié)構(gòu)型模式和創(chuàng)建型模式呢,并且最好你能統(tǒng)一在一起去進(jìn)行區(qū)分和記憶,為了便于理解,最好都要有例子
設(shè)計(jì)模式三大類型統(tǒng)一區(qū)分與記憶指南
設(shè)計(jì)模式分為創(chuàng)建型、結(jié)構(gòu)型、行為型三大類,每類的核心目標(biāo)與典型模式不同。通過核心目的 + 典型場(chǎng)景 + 實(shí)例的對(duì)比,可以輕松區(qū)分記憶。
一、創(chuàng)建型模式(對(duì)象如何生?)
核心目標(biāo):解耦對(duì)象的創(chuàng)建過程,提供靈活、可復(fù)用的對(duì)象生成方式。
類比:工廠生產(chǎn)產(chǎn)品(如何造?誰來造?造什么樣的?)。
模式 | 核心思想 | 典型場(chǎng)景 | 實(shí)例 |
---|---|---|---|
工廠方法 | 子類決定創(chuàng)建哪種對(duì)象 | 需要擴(kuò)展產(chǎn)品類型(如不同數(shù)據(jù)庫連接) | DatabaseFactory.createConnection() |
抽象工廠 | 創(chuàng)建產(chǎn)品族(一組相關(guān)對(duì)象) | 跨平臺(tái)UI組件(按鈕+文本框成套生成) | GUIFactory.createButton() + createTextbox() |
建造者 | 分步驟構(gòu)造復(fù)雜對(duì)象 | 配置多參數(shù)的復(fù)雜對(duì)象(如電腦組裝) | ComputerBuilder.addCPU().addRAM().build() |
原型 | 克隆現(xiàn)有對(duì)象生成新對(duì)象 | 避免重復(fù)初始化(如游戲角色復(fù)制) | Enemy enemyClone = originalEnemy.clone() |
單例 | 確保全局唯一實(shí)例 | 數(shù)據(jù)庫連接池、日志管理器 | Logger.getInstance().log("msg") |
二、結(jié)構(gòu)型模式(對(duì)象如何組?)
核心目標(biāo):組合對(duì)象/類形成更大的結(jié)構(gòu),提升靈活性和可擴(kuò)展性。
類比:搭積木(如何組裝零件?如何適配接口?)。
模式 | 核心思想 | 典型場(chǎng)景 | 實(shí)例 |
---|---|---|---|
適配器 | 轉(zhuǎn)換接口使不兼容的類協(xié)同工作 | 舊系統(tǒng)接入新接口(如USB轉(zhuǎn)Type-C) | LegacySystemAdapter(new System()).request() |
橋接 | 分離抽象與實(shí)現(xiàn),獨(dú)立變化 | 多維度擴(kuò)展(如不同形狀+顏色的圖形) | Shape抽象類 + Color接口組合 |
組合 | 樹形結(jié)構(gòu)統(tǒng)一處理部分與整體 | 文件系統(tǒng)(文件夾+文件統(tǒng)一操作) | FileSystemNode.add(child) |
裝飾器 | 動(dòng)態(tài)添加職責(zé)(不修改原類) | 擴(kuò)展功能(如帶緩沖的輸入流) | BufferedInputStream(new FileInputStream()) |
代理 | 控制對(duì)對(duì)象的訪問(延遲加載/權(quán)限) | 圖片懶加載、接口權(quán)限校驗(yàn) | ImageProxy.loadRealImage() |
三、行為型模式(對(duì)象如何動(dòng)?)
核心目標(biāo):管理對(duì)象間的協(xié)作與職責(zé)分配,提升交互靈活性。
類比:團(tuán)隊(duì)協(xié)作(誰負(fù)責(zé)什么?如何傳遞任務(wù)?)。
1. 行為型類模式(靠繼承)
模式 | 核心思想 | 典型場(chǎng)景 | 實(shí)例 |
---|---|---|---|
模板方法 | 父類定義算法骨架,子類填充細(xì)節(jié) | 統(tǒng)一流程(如代碼編譯步驟) | AbstractClass.templateMethod() |
解釋器 | 用類結(jié)構(gòu)表示語法規(guī)則 | 解析特定領(lǐng)域語言(如SQL解析) | SQLInterpreter.parse("SELECT * FROM table") |
2. 行為型對(duì)象模式(靠組合)
模式 | 核心思想 | 典型場(chǎng)景 | 實(shí)例 |
---|---|---|---|
策略 | 動(dòng)態(tài)切換算法 | 支付方式切換(微信/支付寶) | PaymentContext.setStrategy(new WechatPay()) |
觀察者 | 一對(duì)多的依賴通知機(jī)制 | 事件監(jiān)聽(如按鈕點(diǎn)擊通知) | Button.addClickListener(new Listener()) |
責(zé)任鏈 | 鏈?zhǔn)絺鬟f請(qǐng)求直到被處理 | 日志分級(jí)處理(如Error→Info) | LoggerChain.handleRequest(msg) |
命令 | 封裝請(qǐng)求為對(duì)象 | 撤銷/重做操作(如編輯器命令) | CommandManager.execute(new CopyCommand()) |
四、統(tǒng)一對(duì)比表
類型 | 核心問題 | 實(shí)現(xiàn)方式 | 典型模式 | 記憶口訣 |
---|---|---|---|---|
創(chuàng)建型 | 對(duì)象如何創(chuàng)建? | 封裝對(duì)象生成邏輯 | 工廠、單例、建造者 | “造物有方” |
結(jié)構(gòu)型 | 對(duì)象如何組織? | 組合/適配對(duì)象結(jié)構(gòu) | 適配器、裝飾器、代理 | “搭橋鋪路” |
行為型類 | 行為如何通過繼承實(shí)現(xiàn)? | 父類定義行為框架 | 模板方法、解釋器 | “父定規(guī)矩子執(zhí)行” |
行為型對(duì)象 | 行為如何通過組合實(shí)現(xiàn)? | 對(duì)象間動(dòng)態(tài)協(xié)作 | 策略、觀察者、責(zé)任鏈 | “團(tuán)隊(duì)協(xié)作拼積木” |
五、終極記憶技巧
- 創(chuàng)建型:想象造物主(工廠、建造者)在決定如何生成對(duì)象。
- 結(jié)構(gòu)型:想象建筑師(適配器、橋接)在組裝零件。
- 行為型類:想象家族族長(zhǎng)(模板方法)在制定家規(guī)。
- 行為型對(duì)象:想象團(tuán)隊(duì)隊(duì)長(zhǎng)(責(zé)任鏈)在分配任務(wù)。
一句話總結(jié):
創(chuàng)建型造物,結(jié)構(gòu)型搭橋,行為型分活;
類模式靠繼承,對(duì)象模式靠組合。
AI模型版本:
中國的深度求索(DeepSeek)公司開發(fā)的智能助手DeepSeek-V3
采用深度思考模式,深度思考模型版本為R1
沒有打開聯(lián)網(wǎng)搜索
對(duì)話編號(hào):2