設計模式 狀態模式

2021-09-06 18:39:22 字數 634 閱讀 2781

oo基礎

抽象 封裝

多型繼承

oo原則

封裝變化

多用組合,少用繼承

針對介面程式設計,不針對實現程式設計

為互動物件的松耦合設計而努力

類應該對擴充套件開放,對改動關閉

依賴抽象,不要依賴詳細類

僅僅和朋友交談

別找我,我會找你

類應該僅僅有乙個改變的理由

oo模式

狀態模式——同意物件在內部狀態改變時改變它的行為,物件看起來好像改動了它的類。

1. 狀態模式同意乙個物件基於內部狀態而擁有不同的行為。

2. 和程式狀態機不同,狀態模式用類代表狀態。

3. context會將行為託付給當前狀態物件。

4. 通過將每乙個狀態封裝進乙個類,我們把以後須要做的不論什麼改變區域性化了。

5. 狀態模式和策略模式有同樣的類圖,可是它們的意圖不同。

6. 策略模式一般會用行為或演算法來配置context類。

7. 狀態模式同意context隨著狀態的改變而改變行為。

8. 狀態轉換能夠由state類或context類控制。

9. 使用狀態模式一般會導致設計中類的數目大量新增。

10. 狀態類能夠被多個context例項共享。

設計模式 狀態模式

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

設計模式 狀態模式

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

設計模式 狀態模式

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