0

さまざまなフォームファクター用のWebアプリを開発しています。それぞれに、フォームファクタに依存するビューを作成するための独自のクライアントファクトリがあります。これまでのところすべてが正常に機能していますが、エディターフレームワークに関しては行き詰まっています。

フレームワークを利用するには、次のようなマーカーインターフェイスを宣言する必要があります。
interface Driver extends SimpleBeanEditorDriver<User, UserEditor> {}

これは私のフォームファクターにとらわれないアクティビティで発生するため、フォームファクターに基づいて実際の実装を参照するタイプが必要UserEditorです。UserEditorPhoneUserEditorTabletUserEditorYouNameIt

役に立たなかったので、module.gwt.xmlで遅延バインディングを使用してみました。

<replace-with class="com.example.client.desktop.UserEditorDesktop">
    <when-type-is class="com.example.client.view.UserEditor"/>
</replace-with>

私が見逃しているものと、フォームファクターとUserEditorアクティビティの間に1対1の関係を持たないようにする方法についてのアイデアはありますか?

4

1 に答える 1

1

フォームファクターに依存しないアクティビティは、についてのみ認識し、インターフェイスを、、およびのそれぞれに移動するSimpleBeanEditorDriver<User, ?>必要があります。DriverUserEditorDesktopUserEditorTableUserEditorPhone

次に、アクティビティは、フォームファクトに依存するオブジェクト(たとえば、MVPを使用し、アクティビティがプレゼンターである場合はそのビュー)に、GWT.create()直接使用するのではなく、エディタードライバーのインスタンスを要求します。

(コードがどのように編成されているかを詳しく説明すれば、コードサンプルを提供できます:MVPを使用していますか?エディターはあなたの見解ですか?どのようにインスタンス化されていますか?など)

于 2012-09-30T18:01:20.510 に答える