買了九妹已經快有一年了,從經歷了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毫歐吧,不信用外用表測一下。我一臉恍然大悟的樣子,點了點頭,便走開了。坐到電腦前,隨即寫下一行...
如何通便清腸快速見效 教你早晨如何清腸排除宿便!
如何清除宿便 最近新訪到一種簡便 經濟又有效的清除方法,發給大家,感興趣的朋友可以一試。準備 清腸前一天要吃清淡一點,不要大魚大肉,不吃不易消化的纖維,心情愉悅。準備好一壺開水,大概有六瓶礦泉水的量,放入兩勺鹽 湯勺平平的為一勺 攪拌均勻。十點左右睡覺,上好鬧鐘,定在五點五十,保證第二天早上能起得來...