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