1

プレゼンターがビューを次のように初期化/定義できることがわかりました

@VaadinPresenter(viewName = "string name of the view")
public class MyPresenter extends Presenter<MyView> {
    ...
}

getView() でビューにアクセスします。

同様の方法でモデルを定義する例は見つかりませんでした。私が間違っているかもしれませんが、Presenter は Model と View の間の接着剤であるべきです。なので、Presenter も Model も同様のパターンになるのではないかと考えていました。

例やアイデアを共有していただければ幸いです。

4

1 に答える 1

0

最初に言いたいのは、MVPは非常に複雑なトピックです。

Vaadin のアーキテクトである Petter は、Vaadin の公式ブログ ( https://vaadin.com/blog/-/blogs/is-mvp-a-best-practice- ) で興味深い記事を書いています。

MVP は、さまざまな方法で解釈および使用できるあいまいなパターンです。[...]

モデルはアプリケーションの状態を維持します。フォームの内容、テーブルの行、現在の選択、またはそれらすべての組み合わせの可能性があります。UI コンポーネントは、モデルにアクセスして変更をサブスクライブできます (直接またはプレゼンターを介して)。モデルが変更されるたびに、サブスクライバーは通知を受け、それに応じて自分自身を更新できます。

モデルはさまざまな方法で実装できます。java.util.Observable を拡張したり、Java Bean PropertyChangeEvents を使用したり、Vaadin コンテナー、アイテム、およびプロパティを直接公開したり、独自のメカニズムを実装したりできます。

モデルの例が説明されている公式の Vaadin Book を参照してください: https://vaadin.com/book/-/page/advanced.architecture.html

それが役立つことを願っています!

よろしく

于 2015-08-13T14:40:37.857 に答える