《大話設計模式》中講狀態模式這一節名字叫做「無盡加班何時休-狀態模式」。菜鳥因為程式設計經驗不足,解決這個問題的能力不夠而不得不犧牲時間去不斷的寫**結果還是重複出錯。
而大神每次都能深入到問題的根源運用自己的思想去寫**。每乙個問題都完美的解決。
加班的菜鳥一天各個時間段狀態都不一樣。從開始的精神百倍到越來越疲憊。
自己寫出的**不斷帶來問題。
**是程式猿思維智慧型的結晶,菜鳥」程式猿沒有將自己的思維融入**寫出來的是這種:
class program}class work
set
}private bool finish = false;
public bool taskfinished
set
}public void writeprogram()
else if (hour < 13)
點 餓了,午飯;犯睏,午休。", hour);
}else if (hour < 17)
else
點 下班回家了", hour);
}else
點 加班哦。疲累", hour);
}else
點 不行了。睡著了。
", hour);}}
}}
}
這種**方法過長。裡面推斷分支太多假設要新增一些情況會修改非常多的**。給維護帶來非常大的風險。
運用狀態模式:
//工作類,如今沒有了過長的分支推斷語句public class work
//"鐘點"屬性,狀態轉換根據
private double hour;
public double hour
set
}//「任務完畢」屬性,是否下班的根據
private bool finish = false;
public bool taskfinished
set
}public void setstate(state s)
public void writeprogram()
}//抽象狀態
public abstract class state
//上午工作狀態
public class forenoonstate : state}}
// 中午工作狀態
public class noonstate : state
else}}
//下午工作狀態
public class afternoonstate : state
else}}
//晚間工作狀態
public class eveningstate : state
else
else}}
}//睡眠狀態
public class sleepingstate : state
}//下班歇息狀態
public class reststate : state
}
client同上。運用狀態模式將特定狀態相關的行為區域性化,而且將不同狀態的行為切割開來。把各種狀態轉移邏輯分布到子類之間來降低依賴。 這種程式是有靈活性的。
通往「大神」的路上……
菜鳥 和 大神 的間距
之前看了一篇文章叫做 菜鳥 程式設計師和 大神 程式設計師差距在 通過這篇文章想到了學習 的過程,開始的時候自己真的就是在 抄 也不懂什麼意思,不知在做什麼,其實在各方面都的學習開始的時候都是站在巨人的肩膀上學習的,精彩語錄感受 乙個程式設計師有多優秀,就得看他寫的 程式設計師自己的 才是自己工作狀...
從it行業的狀態看就業
it行業從哪一年代開始變成乙個可以給人帶來金錢的行業?在中國90年代 現在是哪一年?2008年 中國有多少人?13億多 這麼多年中國可以培養出多少it人?我也不知道,應該很多很多,幾百萬 斷定 中級和初級的it人才在中國飽滿。表面的證據 招聘100 要求有工作經驗,為什麼?有工作經驗的人 足以彌補企...
從pyh看Python的工廠模式
設想 1 編寫各種tag型別,如head title body 2 過載 運算,實現類似html head的功能 想到第一點,當時就覺得繁瑣,要定義如此多個類 原諒我當時傻傻的 後來發現個開源專案 pyh工廠模式解析 pyh就乙個原始碼pyh.py,很簡單,以下擷取部分 分析,請尊重原作者,不要直接...