設計模式之狀態模式 行為型

2021-09-05 08:47:01 字數 490 閱讀 8624

乙個物件在其內部狀態改變時改變其行為,這個物件我們可以稱為狀態物件,所以狀態模式是一種物件行為型模式。

上下文類:

public class context 

public void setstate(state state)

public state getstate()

}

抽象狀態類:

public abstract class state
具體狀態類:

public class concretestate implements state 

public string tostring()

}

呼叫**:

public class statepatterndemo 

}

狀態模式分為簡單狀態模式和可切換狀態模式。

設計模式 行為型 狀態模式

設計模式行為型 1.觀察者模式 2.模板模式 3.策略模式 4.職責鏈模式 5.狀態模式 6.迭代器模式 7.訪問者模式 8.備忘錄模式 9.命令模式 10.直譯器模式 11.中介模式 對有狀態的物件,把複雜的 判斷邏輯 提取到不同的狀態物件中,允許狀態物件在其內部狀態發生改變時改變其行為。環境類 ...

19 設計模式 行為型 之狀態模式

封裝了轉換規則 列舉可能的狀態,在列舉狀態之前需要確定狀態種類 將所有與某個狀態有關的行為放到乙個類中,並且可以方便地增加新的狀態,只需要改變物件狀態即可改變物件的行為 允許狀態轉換邏輯與狀態物件合成一體,而不是某乙個巨大的條件語句塊 可以讓多個環境物件共享乙個狀態物件,從而減少系統中物件的個數 a...

行為型設計模式之狀態模式(State)

這裡我們用汽車的運動過程來作為乙個示例講解,首先看一段最初始的 public class state 01 public void run public void stop public void opendoor public void closedoor 如上 假設汽車狀態切換 門關閉狀態 門開...