これはオブジェクト指向プログラミングの質問です:
そこで、散布図を表示するUIViewクラスを作成しようとしています。現在の実装では、chartViewがデータをプロットするために必要なすべての情報を要求できるようにするデータソースプロトコルを作成しました。
現在のところ、誰かがchartViewを初期化してデータソースを与えると、chartviewはいくつかのサブビューを作成/管理します:すべてのデータポイントを表示する「dotsView」、ドットビューが追加されたスクロールビュー(スクロール可能) 、およびバックグラウンドに配置され、グリッド線などの他のグラフデータを表示する「skeletonView」。
このシステムは最初はうまく機能しましたが、ポイントの変更をアニメーション化することにしたので、アニメーションを処理するため、スクロールビュー内に配置された「dotsView」の代わりにcollectionViewを使用することを検討し始めました。私のため。ただし、collectionviewにはデリゲート、データソース、レイアウトオブジェクトなどが必要になるため、突然、chartViewはビューではなくコントローラーのように見えます。
ここに私の質問があります:たとえそれらのUIViewが全体の基本的な要件であるとしても、UIViewが他のUIViewを調整/構成できるようにするのは間違ったアプローチですか?一方では、chartViewのパブリックインターフェイスのシンプルさを維持したいと思います(ビューを初期化し、データソースを提供すれば完了です)。一方、このchartViewは実際にはビューではなく、コントローラーのようなものです。しかし、私は自分のチャートの消費者にそれをコントローラーのように考え/扱ってほしくありません。私は彼らにそれをビューとして使用してもらいたいのです。
何かご意見は?他の人の洞察を聞きたいです。
ありがとう!