狀態模式,當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。狀態模式主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中。
state
public abstract class state
statea
public class statea extends state
}
stateb
public class stateb extends state
}
context
public class context
public void setstate(state state)
public state getstate()
public void request()
}
client
class client
}
Android設計模式(十三) 狀態模式
1 定義 當乙個物件內在狀態轉變時,允許改變其行為,這個物件看起來改變了其類 2 優點 將與特定狀態相關的行為區域性化,並且將不同狀態的行為分割開來 3 目的 消除龐大的條件分支語句 4 使用 當乙個物件的行為取決於它的狀態,並且它在執行時刻必須根據狀態改變它的行為時,就可以考慮狀態模式 5 描述 ...
設計模式之狀態模式(十三)
當乙個物件的內在狀態改版的時候,允許改變其行為,這個物件看起來像是改變了其類。簡單來說就是我們在程式設計的時候可能會根據物件的狀態去寫很多的判斷語句if else。那麼狀態模式就是將判斷的語句封裝到乙個物件中,這樣對於擴充套件和改變狀態的判斷都非常的方便。汽車我們都知道有油箱,但是對於油箱還有多少的...
設計模式學習筆記(二十三) 狀態模式
2 典型實現 3 例項 4 共享狀態 5 環境類實現狀態切換 6 主要優點 7 主要缺點 8 適用場景 9 總結 狀態模式用於解決系統中複雜物件的狀態轉換以及不同狀態下行為的封裝問題。當系統中的某個物件存在多個狀態,這些狀態之間可以進行轉換,而且物件在不同狀態下行為不相同時可以使用狀態模式。狀態模式...