MVP模式假定View將方法暴露給Presenter。例如,在查看我們可以這樣寫:MVP模式。如何減少代碼重複?
public HasClickhandlers getButton() {
return myBtn;
}
,並獲得從發言這種方法,像
view.getButton().addclickhanlder() ...
但是當我建立我的應用程序在這種風格,我有很多不必要的代碼。例如,我想創建TablesView
和TablesPresenter
(我決定TablesPresenter
和TablesView
是最小的實體(最小模塊),不能分成更多的小型演示者和視圖,並且不能更復雜)。然後,當我創建TablesView
時,我想在此視圖中放入另一個自定義組件 - MyCustomTable
。而且裏面MyCustomTable
把MyCustomHeader
,裏面放MyCustomHeader
和MyCustomFilter
等(這個順序可能更長)... 所以問題是,當我想從發言者訪問到內部MyCustomFilter
輸入的文本(用戶),我需要公開的方法在MyCustomFilter
:
//inside MyCustomFilter
public String getFilterText() {
return textBox.getText();
}
然後在含有小部件MyCustomFilter
- 即MyCustomHeader
我需要公開這個方法:
//inside MyCustomHeader
public String getFilterText() {
return myCustomFilter.getFilterText();
}
後,裏面MyCustomTable
我需要揭露這個方法:
//inside MyCustomTable
public String getFilterText() {
return myCustomHeader.getFilterText();
}
它後,我需要公開內部TablesView
getFilterText()
方法(包含MyCustomTable
)而這一切的操作後,我的演講能夠訪問到文本中MyCustomFilter
。而有時這個序列是比較長。 那麼如何解決這個問題呢?可能我對MVP有些不瞭解嗎?
改說你的問題。這是混亂的,包含了太多的細節。 – dzendras