プロジェクト用に独自のシステムを構築しているときに、デザイン パターンについて多くのことを学んでいます。そして、答えが見つからないデザインの問題についてお聞きしたいと思います。
現在、ソケットを使用して複数のクライアントを持つ小さなチャットサーバーを構築しています。現在、次の 3 つのクラスがあります。
- ニックネーム、年齢、ルーム オブジェクトなどの情報を保持する人物クラス。
- ルーム名、トピック、現在そのルームにいる人物のリストなどの情報を保持するルームクラス。
- サーバー上の人物のリストと部屋のリストを持つホテルクラス。
ホテルクラスのサーバー上に人のリストがあります。これは、現在オンラインになっている人の数を追跡するのに適しているためです (すべての部屋を反復処理する必要はありません)。部屋を検索せずに特定の人を検索できるようにしたいので、人はホテルクラスに住んでいます。
これはデザインが悪いのでしょうか?それを達成する別の方法はありますか?
ありがとう。