狀態(tài)模式定義:允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí),改變它的行為 類型:行為型 適用場(chǎng)景: 一個(gè)對(duì)象存在多個(gè)狀態(tài)(不同狀態(tài)下行為不同),且狀態(tài)可相互轉(zhuǎn)換 優(yōu)點(diǎn): 將不同的狀態(tài)隔離 把各種狀態(tài)的轉(zhuǎn)換邏輯,分布到State的子類中,減少相互間依賴 增加新的狀態(tài)非常簡(jiǎn)單 缺點(diǎn): 狀態(tài)多的業(yè)務(wù)場(chǎng)景導(dǎo)致類數(shù)目增加,系統(tǒng)邊復(fù)雜 相關(guān)設(shè)計(jì)模式: 狀態(tài)模式和享元模式 Coding: 創(chuàng)建CourseVideoState類 創(chuàng)建CourseVideoContext類
它的set方法比較重要的
? ?創(chuàng)建PlayState類
?同理: ?創(chuàng)建SpeedState類,內(nèi)容和上面相同,除了下面兩個(gè)方法 ?創(chuàng)建PauseState類,同理 創(chuàng)建StopState類,注意下面三個(gè)方法。
當(dāng)前UML類圖
創(chuàng)建Test類
運(yùn)行
JSF中的應(yīng)用:引入jar包
?類Lifecycle
? 來(lái)源:https://www./content-4-284851.html |
|
|
來(lái)自: 印度阿三17 > 《開(kāi)發(fā)》