セットアップ
私の Java コードには、Group と Person という 2 つのオブジェクトが含まれています。各グループには複数の個人への参照を含めることができますが、各個人は 1 つのグループにのみ属することができます。
各人のスウェットシャツの色は、グループの色に由来します。(注: グループに属していない場合、セーターはグレーです。)
画面に人物を描くときは、人物そのものと色を取り込みます。
コード
人
public class Person {
Color sweatshirtColor = Color.gray;
Group belongsToGroup = null;
public void setGroup(Group g) { belongsToGroup = g; }
}
グループ
public class Group {
Color color = Color.red;
List<Person> people = new ArrayList<Person>();
// ... setters for adding and getting people
}
描く
public void draw(Person dudette, Color shirtColor) { //... }
Problem Group と Person はどちらもお互いを参照しています。描画コードを修正する必要があります (外部のものであるため) が、この設計で明らかに間違っている点はありますか?
編集: もう 1 つ注意 - グループはプログラム全体で変更される可能性があります。個人のグループは場所に依存するため、常にグループを切り替えています。