狀態模式 java設計模式(二十二)

2021-08-20 02:51:02 字數 730 閱讀 1715

共享狀態

優缺點和適用範圍

jdk中的應用

狀態模式(state pattern):允許乙個物件在內部狀態改變時改變行為,看起來似乎修改了類。

狀態模式結構。

狀態轉換可以由環境類統一負責。新增具體狀態需要修改環境類。

public

void

changestate()

else

if (value == 1)

......

}

public

void

changestate(context ctx)

else

if (ctx.getvalue() == 2)

......

}

public

account(string owner,double init)

public

void

deposit(double amount)

缺點:

適用範圍:

設計模式之狀態模式IFORNOIF 二十二

今天大風大雨,但心情還行,繼續擼dota 狀態模式 state pattern 定義 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類 這在我們開發的業務中太常見了,角色許可權的管理,給予不同的許可權,不同角色的操作就會發生改變 該類圖中包含三個角色 狀態模式解決的問題總結 狀...

設計模式(二十二) 策略模式

有時候物件需要按照某種策略改變行為,我們可以利用策略模式,將策略或演算法提取出來,作為單獨的類實現。使用策略模式,可以讓具體演算法和應用物件分離,方便的根據不同條件替換策略。下面舉乙個例子。我們有乙個計算器,它會按照快和慢兩種策略來計算結果。所以我們可以將策略封裝起來。public inte ce ...

設計模式(二十二)模板模式

在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。意圖 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構...