public
class tvcontroller
state=power_on;
}public
void
turnoff()
state=power_off;
}public
void
changechannel()else
}public
void
changesound()
else}}
行為/狀態
狀態一狀態二
行為一狀態一的行為一
狀態二的行為一
行為二狀態一的行為二
狀態二的行為二
1.申明狀態介面,一共有兩個方法,調頻道和調音量。
inte***ce state
2.根據具體的實現方法介面
public
class
statepoweron
implements
state
@override
public
void
changesound()
}public
class
statepoweroff
implements
state
@override
public
void
changesound()
}
3.申明狀態介面
inte***ce power
4.建立主要使用類context
public
class
tvcontroller
implements
power,state
@override
public
void
poweroff()
@override
public
void
changechannel()
@override
public
void
changesound()
}
5.使用
tvcontroller tc=new tvcontroller();
tc.poweron();
tc.changechannel();
tc.changesound();
tc.poweroff();
tc.changesound();
(十一)狀態模式
在業務中,常常有那種狀態巨多的東西,比如乙個立項,可能有新建 已提交 已審批等多種狀態 乙個活動可能有新建 已提交 審核通過 執行中 結束等多種狀態 因此,這個設計模式,指的是面向乙個立項 乙個訂單這個 物件 的邏輯 public inte ce state public class newstat...
設計模式 十一 狀態模式
狀態模式 state 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。狀態模式主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況,把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中,可以把複雜的判斷邏輯化。狀態抽象類,定義乙個介面以及封裝與context 的乙個特定...
zookeeper學習一 狀態
keeperstate中的幾種狀態 disconnected 0 客戶端處於斷開連線狀態 未連線 syncconnected 3 客戶端處於連線狀態 已連線 authfailed 4 驗證失敗狀態 connectedreadonly 5 客戶端連線到唯讀伺服器,讀 寫客戶端不允許連線到r o伺服器 ...