狀態模式教你學會清蒸鯉魚

2021-08-27 06:35:03 字數 2615 閱讀 9347

買了九妹已經快有一年了,從經歷了android2.3.5到深度優化的flyme1.1.3,風風雨雨,伴隨著我一起走過。而我對魅族手機的設計也頗為留意。魅族是乙個學習型的團隊,很為使用者考慮。今天要講的魅族鬧鐘的新功能——事件定時器。以前看到了,只感覺很實用,近段時間在複習設計模式的時候,突然發現,魅族的這個新功能,盡然就是狀態模式的真實例項。

為了讓了解的和不了解的狀態模式的同行們都看得懂我接下來說的,我先簡要的介紹一下這個狀態模式:

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

狀態模式就是把系統的多個狀態分割開來,分布到state的子類中,消除了龐大的分支語句,減少了耦合,同時也很容易增加新的狀態的和轉換。

這就相當於乙個schedule或school timetable一樣,時間的改變,我們的行程或課程也隨之改變。

今天借助m9的新功能,跟大家來實驗一下用狀態模式做一次清蒸鯉魚,讓你在學習設計模式的時候,還另有收穫。別的不多說,先上圖:

其中狀態有5種:preparetime,boillingstate,steamshstate,turnofffishstate,saucingstate,

對應操作的五個步驟。

/// /// 製作清蒸魚

///

public class steamfish

//總計時

private int timecount;

//記錄當前操作用時

private int time = 0;

public int timecount

set}

//任務完成標識

private bool finish = false;

public bool taskfinished

set

}//切換狀態

public void setstate(state s)

//清蒸操作

public void steamfishes()

}

/// /// 抽象狀態

///

public abstract class state

/// /// 準備狀態

///

public class preparestate : state

分秒。\n", statictime / 60, statictime % 60);

}else

分秒。\n", statictime / 60, statictime % 60);}}

else}}

/// /// 燒水狀態

///

public class boillingstate:state

分秒。\n", statictime / 60, statictime % 60);

}else

分秒。\n", statictime / 60, statictime % 60);}}

else}}

/// /// 蒸魚狀態

///

class steamfishstate:state

分秒。\n", statictime / 60, statictime % 60);

}else

分秒。\n", statictime / 60, statictime % 60);}}

else}}

/// /// 關火狀態

///

class turnoffstate:state

分秒。\n", statictime / 60, statictime % 60);

}else

分秒。\n", statictime / 60, statictime % 60);}}

else}}

/// /// 調料狀態

///

class saucingstate:state

分秒。\n", statictime / 60, statictime % 60);

}else

分秒。\n", statictime / 60, statictime % 60);}}

else}}

客戶端**:

static void main(string args)

效果:

狀態模式教你學會清蒸鯉魚

買了九妹已經快有一年了,從經歷了android2.3.5到深度優化的flyme1.1.3,風風雨雨,伴隨著我一起走過。而我對魅族手機的設計也頗為留意。魅族是乙個學習型的團隊,很為使用者考慮。今天要講的魅族鬧鐘的新功能 事件定時器。以前看到了,只感覺很實用,近段時間在複習設計模式的時候,突然發現,魅族...

免費教你快速學會識別貼片電阻(保證學會)

有時候你認為自己已經理解的知識,其實並沒有理解,比如看貼片電阻阻值。3 命名規則 總結有一天,小張正在焊接電路板,我拿起旁邊的一塊板子問起來,這個r020是多大阻值,他蔑視了我一眼,說道 這都不知道?200毫歐吧,不信用外用表測一下。我一臉恍然大悟的樣子,點了點頭,便走開了。坐到電腦前,隨即寫下一行...

如何通便清腸快速見效 教你早晨如何清腸排除宿便!

如何清除宿便 最近新訪到一種簡便 經濟又有效的清除方法,發給大家,感興趣的朋友可以一試。準備 清腸前一天要吃清淡一點,不要大魚大肉,不吃不易消化的纖維,心情愉悅。準備好一壺開水,大概有六瓶礦泉水的量,放入兩勺鹽 湯勺平平的為一勺 攪拌均勻。十點左右睡覺,上好鬧鐘,定在五點五十,保證第二天早上能起得來...