從狀態模式看「大神」和「菜鳥」的差別

2022-09-18 21:24:11 字數 1637 閱讀 1691

《大話設計模式》中講狀態模式這一節名字叫做「無盡加班何時休-狀態模式」。菜鳥因為程式設計經驗不足,解決這個問題的能力不夠而不得不犧牲時間去不斷的寫**結果還是重複出錯。

而大神每次都能深入到問題的根源運用自己的思想去寫**。每乙個問題都完美的解決。

加班的菜鳥一天各個時間段狀態都不一樣。從開始的精神百倍到越來越疲憊。

自己寫出的**不斷帶來問題。

**是程式猿思維智慧型的結晶,菜鳥」程式猿沒有將自己的思維融入**寫出來的是這種:

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,很簡單,以下擷取部分 分析,請尊重原作者,不要直接...