軟件設(shè)計(jì)模式概念
軟件設(shè)計(jì)模式(Software Design Pattern)宋舷,又稱(chēng)設(shè)計(jì)模式鳖链,是一套被反復(fù)使用尤蛮、多數(shù)人知曉的媳友、經(jīng)過(guò)分類(lèi)編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)产捞。它描述了在軟件設(shè)計(jì)過(guò)程中的一些不斷重復(fù)發(fā)生的問(wèn)題醇锚,以及該問(wèn)題的解決方案。也就是說(shuō)坯临,它是解決特定問(wèn)題的一系列套路焊唬,是前輩們的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié),具有一定的普遍性看靠,可以反復(fù)使用赶促。其目的是為了提高代碼的可重用性、代碼的可讀性和代碼的可靠性挟炬。
軟件設(shè)計(jì)模式意義
設(shè)計(jì)模式的本質(zhì)是面向?qū)ο笤O(shè)計(jì)原則的實(shí)際運(yùn)用鸥滨,是對(duì)類(lèi)的封裝性、繼承性和多態(tài)性以及類(lèi)的關(guān)聯(lián)關(guān)系和組合關(guān)系的充分理解谤祖。正確使用設(shè)計(jì)模式具有以下優(yōu)點(diǎn)婿滓。
- 可以提高程序員的思維能力、編程能力和設(shè)計(jì)能力粥喜。
- 使程序設(shè)計(jì)更加標(biāo)準(zhǔn)化凸主、代碼編制更加工程化,使軟件開(kāi)發(fā)效率大大提高额湘,從而縮短軟件的開(kāi)發(fā)周期卿吐。
- 使設(shè)計(jì)的代碼可重用性高旁舰、可讀性強(qiáng)、可靠性高嗡官、靈活性好箭窜、可維護(hù)性強(qiáng)。
當(dāng)然衍腥,軟件設(shè)計(jì)模式只是一個(gè)引導(dǎo)绽快。在具體的軟件幵發(fā)中,必須根據(jù)設(shè)計(jì)的應(yīng)用系統(tǒng)的特點(diǎn)和要求來(lái)恰當(dāng)選擇紧阔。對(duì)于簡(jiǎn)單的程序開(kāi)發(fā),苛能寫(xiě)一個(gè)簡(jiǎn)單的算法要比引入某種設(shè)計(jì)模式更加容易续担。但對(duì)大項(xiàng)目的開(kāi)發(fā)或者框架設(shè)計(jì)擅耽,用設(shè)計(jì)模式來(lái)組織代碼顯然更好
分類(lèi)
范圍\目的 | 創(chuàng)建型模式 | 結(jié)構(gòu)型模式 | 行為型模式 |
---|---|---|---|
類(lèi)模式 | 工廠方法 | (類(lèi))適配器 | 模板方法樱报、解釋器 |
對(duì)象模式 | 單例 原型 抽象工廠 建造者 |
代理 (對(duì)象)適配器 橋接 裝飾 外觀 享元 組合 |
策略 命令 職責(zé)鏈 狀態(tài) 觀察者 中介者 迭代器 訪問(wèn)者 備忘錄 |