4

こんにちは私はJavaのMVCについて学校のデータベースで見つけた例を読みました。ボタンがコントローラー部分に入るこの例があります。しかし、ユーザーが見ることができるすべてのものがビューになければならないので、ボタンがビューにある必要があるのは正しいではありませんか、それとも私はそれを間違って理解していて、Javaでは異なりますか?

4

3 に答える 3

4

この画像は、ウィキペディアのModel-View-ControllerページからのMVCの一般化です。

ここに画像の説明を入力してください

一般に、UI要素の描画/レンダリングを扱っている場合、それはビューに属します。ユーザーがボタンを操作できるようにするアクション/イベントは、コントローラーに属します(必要に応じて、機能がサービスに委任される場合があります)。

コントローラーにボタンを描画/レンダリングするコードを配置する必要はありません。これは、コントローラーを特定のビューに緊密に結合するものであり、このデザインパターンを使用するという原則に反します。

于 2012-12-26T19:09:15.100 に答える
2

ボタンはビューに属していると言っているのは正しいです。ただし、コントローラーでボタンを定義する必要がある特定の場合があります。たとえば、動的UIの場合、条件に基づいてコントローラーでボタンをインスタンス化する必要がある場合があります。

ビュー/コントローラーの分離の主な理由の1つは、ビューを「ダム」にし、テストを必要としないUI表現にすることです。UIコンポーネントは多くの場合重量があり、テストのために抽象化する必要があります。これは、元のコンポーネントのインターフェイスを反映した軽量のモックに置き換え、それらをコントローラーのテストに提示することによって行われます。

条件またはビジネスロジックが関係している場合、コードはさまざまなシナリオでテストする必要があるため、コントローラーに属します。

于 2012-12-26T19:17:05.603 に答える
0

あなたへの私のアドバイス-PureMVCプロジェクトによるJavaのMVC実装を見てください。あなたはそれが素晴らしいことであることがわかるでしょう!インフラストラクチャは、ここで説明するMVCアーキテクチャに従って実装されます。

于 2012-12-26T19:31:22.610 に答える