狀態變化模式
背景
在軟體構建過程中,某些物件的狀態如果改變,其行為也會隨之而發生變化,比如文件處於只讀狀態,其支援的行為和讀寫狀態支援的行為就可能完全不同。
如何在執行時根據物件的狀態來透明地更改物件的行為?而不是為物件操作和狀態轉化之間引入緊耦合?
定義
允許一個物件在其內部狀態改變時改變它的行為。從而使物件看起來似乎修改了其行為。 把《設計模式》GoF
case
王者榮耀這款遊戲,在排位賽模式下,bp的方式是和段位掛鉤的。磚石以下不需要ban英雄,磚石以上王者以下有兩個ban的名額,王者以上有四個ban的名額。就是說段位不一樣,進行同樣的遊戲,bp規則也是不一樣的。對戰過程中也有類似的情況,巔峰賽會遮蔽召喚師的id。
這裡的段位就對應上面的狀態。
相關文章
- 用設計模式去掉沒必要的狀態變數 —— 狀態模式設計模式變數
- 狀態模式模式
- JavaStatePattern(狀態模式)JavaAST模式
- JS 狀態模式JS模式
- (三)狀態模式模式
- 狀態模式(State)模式
- 設計模式-狀態模式設計模式
- 設計模式:狀態模式設計模式
- 基於函式的索引狀態變化函式索引
- android狀態列一體化(改變狀態列的背景顏色)Android
- PostgreSQL狀態變遷SQL
- 行為型模式:狀態模式模式
- 設計模式(十五)狀態模式設計模式
- 設計模式之——狀態模式設計模式
- javascript設計模式狀態模式JavaScript設計模式
- 設計模式(六):狀態模式設計模式
- 狀態模式(State pattern)模式
- 17_狀態模式模式
- PHP 設計模式之狀態模式PHP設計模式
- 簡說設計模式——狀態模式設計模式
- 設計模式之狀態模式(State)設計模式
- 設計模式-狀態模式(State Pattern)設計模式
- python設計模式狀態模式Python設計模式
- 設計模式20之狀態模式設計模式
- 極簡設計模式-狀態模式設計模式
- GoLang設計模式14 - 狀態模式Golang設計模式
- Python設計模式-狀態模式Python設計模式
- Java設計模式之狀態模式Java設計模式
- 設計模式——20狀態模式(State)設計模式
- 設計模式系列之「狀態模式」設計模式
- 轉載---Dephi狀態模式(State模式)模式
- flink學習(加餐)——job任務狀態變化
- 設計模式第八講-狀態模式設計模式
- 設計模式漫談之狀態模式設計模式
- python設計模式【9】-狀態模式Python設計模式
- 《Head First 設計模式》:狀態模式設計模式
- C#設計模式之狀態模式C#設計模式
- 設計模式系列9--狀態模式設計模式