2012-04-09 3 views
0

モデルビューコントローラ(MVC)についてJava(MVCについて議論する際にはすでに多くの人がこれを参照しています)を使用していると思います。コントローラの参照を表示またはリスナーを使用して保持する

http://www.oracle.com/technetwork/articles/javase/mvc-136693.html

基本的には、モデル(伝統的な方法のように、表示できない)コントローラに通知を送信し、修正MVCの流れを示しています。コントローラは通知をViewに渡してインタフェースの更新を行うか、ユーザーインタラクションのコマンドをintepretsしてModelに返します。

コントローラとビューの連携方法に関する質問があります。この記事では、著者は両方のビューでControllerへの参照を保持し、これらのビューでControllerのメソッドと直接呼ばれました。私はそれの背後にある合理性について疑問を抱いていた。なぜControllerにいくつかのActionListenersを実装せず、Viewsのインタラクションウィジェットがこれらのリスナーにシグナルを送るようにしましたか?

ありがとうございました。

答えて

1

これはカップリングの問題です。

ビューにコントローラの参照がある場合は、コントローラに結合されています。自分のビューが別のコントローラーを使用することを期待していない場合は、これを行います。 直接アクセスでは、さまざまなコードパスに従う方が簡単です。

アクションリスナーパターンを実装する場合は、ビューとコントローラーの結合が解除されます。ビューとコントローラは独立して存在することができ、同じビューに対して異なるコントローラを使用する可能性があります。

関連する問題