設計模式 狀態模式

2021-07-09 08:28:41 字數 1304 閱讀 7448

狀態模式(state pattern)

當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來就像是改變了。

context類,用於儲存當前模式

public

class

context

public

void

getcurstatedesc()

}

public

inte***ce

istate

public

class

editstate

implements

istate

}

@override

public

void

add()

@override

public

void

update()

@override

public

void

delete()

@override

public

void

view()

}

public

class

previewstate

implements

istate

}

@override

public

void

add()

@override

public

void

update()

@override

public

void

delete()

@override

public

void

view()

}

public

class demo

}

測試結果

---

當前模式:編輯模式--

-編輯模式[新增

]編輯模式[修改

]編輯模式[刪除

]編輯模式[刪除

]---

當前模式:預覽模式--

-預覽模式不支援新增

預覽模式不支援修改

預覽模式不支援刪除

預覽模式不支援刪除

設計模式 狀態模式

狀態模式 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。狀態模式主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況,把狀態的判斷邏輯轉移到表示不同狀態的一些列類當中,可以把複雜的判斷邏輯簡化。當乙個物件的行為取決於它的狀態,並且它必須在執行時刻根據狀態改變它的行...

設計模式 狀態模式

1.概述 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。2.解決的問題 主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同的一系列類當中,可以把複雜的邏輯判斷簡單化。3.模式中的角色 3.1 上下文環境 context 它定義了客...

設計模式 狀態模式

描述 允許物件在內部狀態改變時改變它的行為,物件看起來好像修改了它的類。主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同的一系列類當中,可以把複雜的邏輯判斷簡單化。通常應用在有好多狀態的流程中。類圖 以下程式模擬糖果機器投幣取糖果的狀態流程。1.定義狀態...