狀態模式(State)

2021-09-02 05:52:34 字數 818 閱讀 2546

狀態模式允許乙個物件在其內部狀態改變時改變它的行為,物件看起來似乎修改了它所屬的類,屬於行為型模式。

優點:

缺點:定義抽象狀態角色connectstate

public inte***ce connectstate
定義具體狀態角色reconnectstate

public class reconnectstate implements connectstate 

}

定義具體狀態角色successstate

public class successstate implements connectstate 

}

定義具體狀態角色failurestate

public class failurestate implements connectstate 

}

定義環境角色context

public class context 

reconnectstate.handleaction();

}public void failure()

failurestate.handleaction();

}public void success()

successstate.handleaction();}}

狀態 State 模式

物件狀態影響物件行為 物件擁有不同的狀態,往往會行使不同的行為.1 動機 在軟體構建過程中,某些物件的狀態如果改變,其行為也會隨之而發生變化。比如文件處於唯讀狀態,其支援的行為和讀寫狀態支援的行為就可能完全不同。如何在執行時根據物件的狀態來透明地更改物件的行為?而不會為物件操作和狀態轉化之前引入緊耦...

狀態模式 State

個人理解 核心是context維護乙個當前狀態,並在invoke狀態方法時,將context維護的當前狀態更新至下一狀態 uml類圖 實現 using system namespace decoratormode public class agecontext public void printag...

state 狀態模式

include include using namespace std 1 將 state宣告為 context的友元類 friend class 其作用是讓 state模式訪問 context 的 protected介面 changesate 2 state 及其子類中的操作都將 context ...