この質問は特定の言語に関するものではなく、むしろ問題を解決するものです。
メソッドをロボットに送信し、センサーデータを要求するタイマーがあります。
一部のセンサーは非常に重要であり、ほとんどの場合要求される必要がありますが、他のセンサーはそれほど重要ではありませんが、時々読み取る必要があります。
だから私が私のタイマーを持っていて、タイマーの中でそれが以下のコードによって返されるメソッドを要求すると想像してください:
Timer_Tick()
{
AskForData(SensorRequestList())
}
private int _tCliffState = 0;
private int _tCliffSignal = 0;
private int _tLight = 0;
//and 7 other
private byte[] SensorRequestList()
{
if (_tCliffState <= 5)
{
_tCliffState++;
return RequestCliffStates();
}
if(_tCliffSignal < 1)
{
_tCliffSignal++;
return RequestCliffSignals();
}
if(_tLight < 1)
{
_tLight++;
RequestLightSignals();
}
//and more ifs!
//reset all
_tCliffState = 0;
_tCliffSignal = 0;
_tLight = 0;
//...
}
私が10のメソッドを持っている場合、最良の方法は何ですか。たとえば、1,2,3、... 10のように名前が付けられ、優先度も1,2,3...10のようになります。
より優先度の高いメソッドがより多く要求されることを確信できる素晴らしいパターンをどのように達成できますか?このパターンのようなもの:
1,1,1,2,1,3,1,1,4,1,1,1,2,1,1,1,3,1,1,1,4 and so on