Java 設計模式之狀態管理

來源:互聯網
上載者:User

標籤:

定義:允許一個對象的內部狀態改變時改變它的行為。對象看起來似乎修改了它的類。

本質:根據狀態來分離和選擇行為。

狀態:對象執行個體的屬性值。

行為:對象的功能,大多對應到方法上。

狀態模式的功能:分離狀態的行為,通過維護狀態的變化,來調用不同裝態對應的不同功能。

狀態和行為是相關聯的,可以描述為:狀態決定行為

(1)定義狀態枚舉

public enum MagicState {LOCK,DOWNLOAD, DOWNLOADING, PROCESS, PROCESSING, SOUND};

  

(2)設定狀態

public void setState ( MagicState state){this.state = state};

  

(3)為狀態添加方法

private void switchMagicState(MagicState ms) {Logging.d(TAG, "switchMagicState|ms = " + ms);mMagicTask.state = ms;switch (ms) {case LOCK:                        //.......lock相關的方法break;case DOWNLOAD:break;case DOWNLOADING:break;case PROCESS:break;case PROCESSING:break;case SOUND:break;default:break;}}

  

(4)切換狀態

Java 設計模式之狀態管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.