在軟體工程中看,設計模式是對軟體設計中普遍存在(反覆出現)的各種問題,所提出的解決方案。設計模式不是**,而是某類問題的通用解決方案。設計模式代表著最佳實踐。這些解決方案是眾多軟體人員的試錯和總結。設計模式包含了物件導向的精髓,懂得了設計模式,就懂得了物件導向分析和設計的精要。
設計模式的重要性
設計模式的目的
結構型模式
行為型模式
優點
#b,c表示兩類不同的功能
public
class
apublic
voidc(
)}==>
public
classab}
public
class
ac}
傳統方法的問題和介面隔離原則的改進
#類a通過inte***ce
e依賴類c, 其只依賴a()
,b()方法
public
classa}
#類c通過inte***ce
e依賴類d,且只依賴c()
,d()方法
public
classc}
#介面e
public
inte***ce
epublic
class
bimplements
epublic
class
dimplements
e
#類a通過inte***ce
e依賴類c, 其只依賴a()
,b()方法
public
classa}
#類c通過inte***ce
f依賴類d,且只依賴c()
,d()方法
public
classc}
public
inte***ce
epublic
inte***ce
fpublic
class
bimplements
epublic
class
dimplements
f
使用介面或者抽象類的目的是制定好規範,而不涉及任何具體的操作,把戰線細節的任務交給他們的實現類去完成。
依賴倒轉的核心思想就是:面向介面程式設計。層與層之間通過介面來訪問。不要在類的內部去new所依賴的物件,而是通過依賴關係傳遞到類內部來。
public
inte***ce
iopenandclose
public
inte***ce
tvpublic
class
aqytv
implementstv}
public openandclose implements
iopenandclose
public
static
void
main
( string[
] args )
}
public
inte***ce
iopenandclose
public
inte***ce
tvpublic
class
aqytv
implementstv}
public
class
openandclose
implements
iopenandclose
public
static
void
main
( string[
] args )
}
public
inte***ce
iopenandclose
public
inte***ce
tvpublic
class
aqytv
implementstv}
public
class
openandclose
implements
iopenandclose
public
static
void
main
( string[
] args )
}
依賴倒轉原則的注意事項和細節:
針對繼承父類方法,又不得不重寫父類方法的處理方案
子類重寫父類方法的情形
public
inte***ce
apublic
class
bimplements
apublic
voidb(
)public
voidc(
)public
voidd(
)}public
class
cextends
bpublic
voidb(
)public
voidc(
)public
voidd(
)}
遵循黎克特制替換原則的繼承處理
public
inte***ce
apublic
abstract
class
dpublic
voidb(
)public
abstract
voidc(
);public
abstract
voidd(
);}public
class
bextends
d pulic voidd(
)}public
class
c pulic voidd(
)}
#通過介面傳遞依賴關係,根據多型來動態新增功能
public
inte***ce
apublic
inte***ce
tvpublic
class
iqytv
implementstv}
public
class
bimplements
apublic
static
void
main
( string[
] args )
}
關於迪公尺特法則的簡單定義:
關於直接朋友:
模式設計的基本概念
設計習語,設計模式,架構模式 模式從目的上分類 建立型模式 工廠模式 抽象工廠模式 單例模式 建造者模式 原型模式 結構型模式 介面卡模式 橋接模式 過濾器模式 組合模式 裝飾器模式 外觀模式 享元模式 模式 行為型模式 責任鏈模式 命令模式 直譯器模式 迭代器模式 中介者模式 備忘錄模 觀察者模式...
PHP設計模式學習筆記 3 基本設計模式概念
mvc的特點是 通過檢視和模型之間建立訂閱 通知協議,實現檢視和模型的解耦。從mvc開始討論設計模式中的各種工具,應為大多數設計模式都是與mvc有關的,只有某些部分是與mvc沒關。ivehicle.php inte ce ivehicle car.php include once ivehicle....
設計模式概念
總體來說設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式...