だから私はクラスの学生とコースでこのようなシナリオを持っています
学生Aはコース1、2に在籍
学生Bはコース1、2、3に在籍
学生Cはコース2に在籍しています
したがって、次の 2 種類のイベントがあります。
生徒 A が削除されます -> 2 つのオブジェクトを通知する必要があります: コース 1 とコース 2
コース 1 がキャンセルされました -> 2 つのオブジェクトを通知する必要があります: 学生 A と学生 B
各学生が 1 つのコースにのみ登録できる場合、オブザーバー パターンが機能することを知っています。この場合、オブザーバー パターンの各コース オブジェクトの学生のリストがあります。
双方向のオブザーバーパターンを実行する必要があるかどうか疑問に思っています(学生はコースのリストを保持し、コースは学生のリストも保持します)。それで、この問題に対処する良い方法でしょうか?主な関心事は、速度/スペースのトレードオフです (私が今考えられるのは、せいぜい 1 人の学生から 1 セットのコースへ、1 コースから 1 セットの学生への双方向のハッシュ/ツリーです)。どんなポインタでも大歓迎です!!