モデルとコントローラの参照が公開されている必要があります。これは悪いデザインのにおいですか?あるいは、これは「安全な」練習と考えられていますか?例えばMVCパラダイム:ビューからモデルとコントローラを公開する
:私は(ItemView
、ItemController
、そしてItemModel
からなる)(ListView
、ListController
、及びListModel
から成る)リストと多くのリスト項目を有します。
Iは、各リスト項目のItemModel
、ItemView
、及びItemController
を作成すると、私はListView
を切っItemView
インスタンスを渡します。しかし、後で、私のListController
には、対応するItemController
インスタンスへの参照が必要です。
だから、ListView::addItem()
とでItemView
とItemController
両方を渡す、または単にItemView
に渡し、例えばItemView::getController()
としてインスタンスメソッドを公開することがより適切であろうか?
それは問題ですか?それぞれのアプローチは同等に実行可能ですか?彼らの論理的結論に従うならば、どちらの戦術が反パターンになるか?
'しかし、後で、私のListControllerは、対応するItemControllerインスタンスへの参照が必要です - なぜですか?クラスを適切に分離している場合は、この必要はありません。 –
'ItemModel、ItemView、およびItemController'を作成すると、リスト内の各項目のコントローラが作成されますか?それは私の匂いです。 –
Webアプリケーションやデスクトップアプリケーションについて話していますか?違いがあります。 –