問題のドメインには、多数の名前付きスナークが含まれています。スナークのいくつかはブージャムです。
これをモデル化するには、少なくとも 2 つの方法があります。
// プロパティとして:
クラススナーク{
文字列名;
ブール is_boojum;
};
// リストとして:
クラススナーク{
typedef 長い ID;
やった;
文字列名;
};
tree<Snark::Id> boojums;
スナークにはオスとメスがいると判断した場合、スナーク クラスの定義に「性別」プロパティを追加するのは直感的に思えます。そして、5 人を除くすべてのスナークが打ち負かされた対象であると判断した場合、王族のリストを作成します。
適用できる原則はありますか、それともアーキテクチャの好みの問題ですか?