このための意味のある質問のタイトルを考え出すのは難しいです。私がやろうとしていることを正確に説明します。
Path潜在的に大きなオブジェクトのリストを作成するAndroidグラフィックライブラリを作成しました。それぞれに追加のデータを添付する必要がありますPath。これを行うために、追加の拡張データフィールドを提供するために単純にサブクラス化Path(と呼びます)しました。一般的なユースケースでは、これらのオブジェクトのうち、実際に追加のデータセットが設定されているPathSubclassのはごくわずかです。Pathたとえば、ArrayList数千Pathのデータが存在する可能性がありますが、追加のデータがあるのはほんの一握りです。ライブラリを開発するときに、それぞれに添付したい追加データの量が発生する可能性がありますPathかなり成長します。これは時期尚早の最適化である可能性がありますが、追加データが非常にまれにしか入力されず、そのオブジェクトのかなり大きなコレクションが使用される場合、オブジェクトをサブクラス化して追加データを含めるのは効率的ではないことを懸念しています。
私がやろうと思ったのは、おそらく私のサブクラスExtendedPathDataとは別のクラスを持つことでした。Pathしたがって、各サブクラスは、追加データを必要とするごく少数のオブジェクトを除いて、多くの場合Path、メンバーの必要性によって少しだけ肥大化します。これは、メソッドを使用して、通常、追加のデータをに添付する方法と似ていると思います。mExtendedDatanullPathViewsetTag()
私が考慮すべき他のアプローチはありますか、それは何らかの理由でより良いですか?