軟件設(shè)計模式是一種被反復(fù)使用的、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。使用設(shè)計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序的重用性。設(shè)計模式提供了一套通用的設(shè)計詞匯和一種通用的語言以方便開發(fā)人員之間溝通和交流,使得設(shè)計方案更加通俗易懂。對于使用不同編程語言的開發(fā)和設(shè)計人員可以通過設(shè)計模式來交流系統(tǒng)設(shè)計方案,每一個模式都對應(yīng)一個標(biāo)準(zhǔn)的解決方案,設(shè)計模式可以降低開發(fā)人員理解系統(tǒng)的復(fù)雜度。
軟件設(shè)計模式有六大原則,包括開閉原則(對擴(kuò)展開放,對修改封閉)、里氏代換原則(任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn))、依賴倒轉(zhuǎn)原則(針對接口編程,依賴于抽象而不依賴于具體)、接口隔離原則(使用多個隔離的接口,比使用單個接口要好)、迪米特法則(一個實體應(yīng)當(dāng)盡量少地與其他實體之間發(fā)生相互作用)、合成復(fù)用原則(盡量使用合成/聚合的方式,而不是使用繼承)。
設(shè)計模式可以分為三大類:創(chuàng)建型模式主要用于創(chuàng)建對象;結(jié)構(gòu)型模式主要用于處理類或?qū)ο蟮慕M合;行為型模式主要用于描述對類或?qū)ο笤鯓咏换ズ驮鯓臃峙渎氊?zé)。