私は監視アプリを構築しています。いくつかのカテゴリがあり、各カテゴリには複数のモニターがあります。モニターの例は、CPU 使用率のグラフです。
私の質問は建築についてです。プロジェクトの将来の拡張を簡単にするために MVC を実装しようとしていますが、ジレンマに陥っています。どちらか私
- モニターごとに個別のコントローラーとモデルを用意する、または
- 1 つの
MonitorController
オブジェクトと 1 つのMonitorModel
オブジェクトを持ち、モニターごとに 1 つのメソッドを持つ
#1の欠点は、
- 各ルートを個別に定義する必要があります
- ルートごとに異なるコントローラーをインスタンス化しますが、各コントローラーには基本的に実行するタスクが 1 つしかなく、モデルの
getData()
メソッドを呼び出します。基本的に、これまでのところ、/{category}/{monitor}
すべてのモニターに 1 つのルートを使用できましたが、そのシンプルさは素晴らしいものです。
#2の欠点は
- 柔軟性がない
MonitorModel
各チャートのgetData()
メソッドは数十行にわたる非常に複雑になる可能性があるため、オブジェクトは巨大になり、維持できなくなります。
ここで正しいアプローチは何ですか?
(ちなみに、私はPHPを使用しています。)