カスタム コンテナ クラスを作成しています。構成オブジェクトはコンテナとは独立して作成され、コンテナなしまたは複数のコンテナのメンバーになることができます。コンテナーのパブリック API は、次の 3 つの操作をサポートする必要があります。
- すべてのオブジェクトに対する反復
- 新しいオブジェクトの挿入
- 既存のオブジェクトの削除
コンテナーはいくつかの追加作業を行い、その正確な実装は変更される可能性があります。
実装を変更しても安定したままになるように、このクラスにパブリック API を書き込むにはどうすればよいですか?
コンテナが に似ている場合list
、効率的な削除にはオブジェクトのインデックスの知識が必要です。オブジェクト自体が良くないことを知っている(コンテナ全体で要素を検索したくない)。
コンテナがset
のようなものである場合、インデックスに相当するものはなく、オブジェクト自体が必要です。
コンテナーが単一リンク リストのようなものである場合、オブジェクトを削除する前に、そのオブジェクトへの何らかの参照が必要です。
コンテナーが双方向リンク リストのようなものである場合、オブジェクト自体への参照が必要です。
削除メソッドに単一の引数を取ることを考えていますreference
。これは、削除メソッドの外では意味も使用もありません。反復により ( object
, reference
) のペアが生成されます。
このデザインに問題はありますか?参照できる例または設計パターンはありますか?
理想的には、元のobject
と の両方を含み、両方reference
のインターフェイスを示す複雑なオブジェクトを反復処理で生成したいと考えています。しかし、これは実行可能ではないと思いますか?