定義
- 允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí),改變它的行為
類型:行為型
使用場(chǎng)景
- 一個(gè)對(duì)象存在多個(gè)狀態(tài)(不同狀態(tài)下行為不同)棺棵,且狀態(tài)可相互轉(zhuǎn)換
- 電商訂單狀態(tài)改變
- 辦公系統(tǒng)流程變更
- 視頻播放狀態(tài)變更
優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
- 將不同的狀態(tài)轉(zhuǎn)換
- 把各種狀態(tài)的轉(zhuǎn)換邏輯楼咳,分布到state的子類中,減少相互間依賴
- 增加新的狀態(tài)很簡(jiǎn)單
缺點(diǎn):
- 狀態(tài)多導(dǎo)致類數(shù)目增加烛恤,系統(tǒng)變復(fù)雜
UML類圖
image.png