08/05/25 22:45:40 dDrBARgy
たとえば、>>140 の信号に「夜間は点滅する」「殴られたら停止する」という仕様が追加された場合、
前者の、普通に状態遷移を書く場合だと、
void 夜になる() { if (state != 停止) state = 点滅; }
void 朝になる() { if (state == 点滅) state = 赤; }
void 殴る() { state = 停止; }
みたいなメソッドを追加して、
if (state == 赤) ... ;
else if (state == 青) ... ;
else if (state == 黄) ... ;
else if (state == 点滅) ... ;
else if (state == 停止) ... ;
と分岐を追加していけばいいよね。
後者のスレッドを用いる場合だとどう修正するの?
結局、似たような感じになっていく気がするんだけど。