次の例のコンテキストでの MVC の使用法には疑問があります。
ちょっとした描画アプリケーションの例を考えてみましょう。
たとえば、ユーザーが選択した形状の角度を入力できるテキストボックスがあるとします。期待される結果は、選択した各形状がテキストボックスで指定された角度に従って回転するはずです。
ShapeView という名前のビューであるシェイプ オブジェクトがあるとします。指定されたビューには、その位置、現在の回転角度、ストロークの色、塗りつぶしの色などの独自のデータがあります。したがって、ShapeModel として形状のモデルがあります。
これで、このテキスト ボックスと複数の形状ビューを処理する Controller ができました。テキストボックスの値を変更すると、コントローラーは必要な手順を実行して形状を回転させることができます。
質問:
疑問は、コントローラーがシェイプビューの shapeModel に直接アクセスして、rotate メソッドを呼び出す必要があるかどうかです。または、コントローラーは shapeModel の回転メソッドを内部的に呼び出す shapeView の回転メソッドを呼び出す必要がありますか?
要するに、外部エンティティはビューのモデルに直接アクセスする必要がありますか? それとも、ビューのみを通過する必要がありますか? モデルに直接アクセスするのは良い考えですか? アクセスした場合の問題や懸念事項はありますか?