乙個物件在其內部狀態改變時改變其行為,這個物件我們可以稱為狀態物件,所以狀態模式是一種物件行為型模式。
上下文類:
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 如上 假設汽車狀態切換 門關閉狀態 門開...