2017-06-08 1 views
0

MVCパターンを使用してJava Desktop GUIアプリケーションを作成しています。わかりやすくするために、GUIアプリケーションを別のパネル(Scheme of the GUI application)に分けて、それぞれのクラスが特定のものを処理するようにしました。今、私がコントローラの部分にあり、DRAW PANELに何かを表示したいとき、私はメソッドチェインを持っています。私はいくつかのメソッドを連続して呼び出すことを意味しています。JavaのMVCのGUIパーツ間で通信するためのメソッド連鎖

view.getRightPanel().getDrawPanel().appendText(model.getResults()); 

私はどこかで間違いをしているのか疑問に思っています。そうするのが普通ですか、コードをより効率的かつエレガントにするためにコードを変更する必要がありますか? すべての情報を歓迎します!ありがとうございました!

答えて

0

コントローラでこれを行う場合は間違いはありません。

MVCパターンでは、コントローラはモデルの変更をリッスンし、ビューを更新します。それがコントローラーがやろうとしていることです。ここでは、

view.getRightPanel().getDrawPanel().appendText(model.getResults()); 

私はコントローラが行うことになっているまさにである、あなたはコントローラが制御していることを考慮してドローパネル内のテキストを変更していると思います。

モデルをビューから直接更新したり、ビューをモデルから更新したりしないように注意してください。それはMVCに違反します。

複数のコントローラを作成して、画面上の異なるパネルを制御することをお勧めします。私はそれがより管理しやすいと思う。

+0

ご返信いただきありがとうございます。複数の関数を連続して呼び出すのは問題ですか?つまり、パネルが増えれば、10個以上の関数を連続して呼び出すことになります。 – Anthony

+0

一般的な規則は、コードを読みやすくすることです。あなたのコードが読めなくなったと思ったら、新しいコントローラの作成を開始するべきでしょう。各パネルに1つのコントローラー。 @Anthony – Sweeper

+0

@Anthony矢印ではなく、チェックマーク。この事 - >✔ – Sweeper

関連する問題