MVPパターンでは、ViewからPresenterにメソッドを公開することを前提としています。MVPパターン。どのようにコードの繰り返しを減らすには?
view.getButton().addclickhanlder() ...
のように、プレゼンターから
public HasClickhandlers getButton() {
return myBtn;
}
と、このメソッドへのアクセスをしかし、私はこのスタイルで私のアプリをビルドするとき、私はたくさんの不要なコードを持っています。たとえば、ビューでは、我々は書くことができます。たとえば、TablesView
とTablesPresenter
を作成したいとします(私はTablesPresenter
とTablesView
が最小のエンティティ(最小モジュール)であり、より小さなプレゼンターとビューに分割できず、複雑ではないと判断します)。次に、TablesView
を作成すると、別のカスタムコンポーネント - MyCustomTable
が表示されます。内MyCustomTable
MyCustomHeader
を入れてMyCustomHeader
を入力してくださいMyCustomFilter
など... MyCustomFilter
の中にPresenterから(ユーザーが入力した)テキストにアクセスしたい場合は、メソッドを公開する必要がありますMyCustomFilter
に: - :MyCustomTable
の内側に私が必要、それの後に
//inside MyCustomHeader
public String getFilterText() {
return myCustomFilter.getFilterText();
}
MyCustomFilter
が含まれているウィジェットで、その後
//inside MyCustomFilter
public String getFilterText() {
return textBox.getText();
}
すなわちMyCustomHeader
に私はこの方法を公開する必要がありますこの方法公開する:それは後
//inside MyCustomTable
public String getFilterText() {
return myCustomHeader.getFilterText();
}
を私はTablesView
内getFilterText()
方法を公開する必要があります(つまり、MyCustomTable
が含まれている)と、このすべての操作の後に私のプレゼンターは、内部MyCustomFilter
をテキストにアクセスすることができます...そしていつかこのシーケンスは、より長いです。 この問題を解決するにはどうすればよいですか? MVPに関するいくつかのことを理解できないことがありますか?
質問を変更してください。それは混沌としているし、あまりにも多くの詳細が含まれています。 – dzendras