1
私はかなり理論的な質問があります。ここにデザインパターンが必要ですか?
たとえば、私は表のようなオブジェクトのクラスを持っています。そして、このテーブルは、赤、青、黄色の異なる色で着色することができます。テーブルが以前に色付けされていなかった場合、結果は明らかです。それ以外の場合は、次のルールが適用されます。
red + yellow --> orange
blue + yellow --> green
red + blue --> purple
red + blue + yellow --> brown
これを実装するには、どのような方法が最適ですか?そのような場合のデザインはありますか?マイバリアントはあまりにも単純なことがあります
public class Table{
private boolean isRed;
private boolean isBlue;
private boolean isYellow;
public String colorRed(){
isRed = true;
if (isBlue && isYellow)
return "brown";
if (isBlue)
return "purple";
if (isYellow)
return "orange";
return "red";
}
//... the same for other colors
}
私は数値定数に色を関連付けて、代わりに簡単な計算を行うだろう'if's ^^ – moonwave99
^私は一歩前進し、色を2の累乗に関連付けます。結果は、2の累乗で構成される数値の単純なスイッチまたはマップルックアップです。 – StoryTeller
@ user2957954この例のための具体的なパターンや、必ずしも色に関係しない類似の 'if-else'ステートメントを持つ一般的なケースを探していますか?つまり、 'isBrown'や' isOrange'や 'isPurple'というフラグもありますか?ここでの要件を理解しようとしています。 – CKing