IMO、GWT を使用する場合、ボイラー プレートからの脱出はありません。洗練されたデータ モデルを使用してデータ集約型アプリを操作するための最良のオプションは RequestFactory だと思います。コード生成フレームワークを作成することで、ボイラー プレートを減らすことができます。例として、GWTPの注釈ベースのコード生成機能を見てみましょう。これは、MVP を操作するために必要なボイラー プレートを大量に生成できます。具体的には、GWTP は、サーバーに送信するコマンドとサーバーから返される結果をカプセル化する Action クラスと Result クラスを生成できます。
RequestFactory に関連するボイラープレート用の同様のコード生成機能を使用すると、負担が大幅に軽減されます。
たとえば、エンティティ クラスからエンティティ プロキシを生成するための注釈を付けることができます。このアノテーションをエンティティ クラスに配置し@Entity
、関連する EntityProxy クラスを生成するように APT プロセッサを構成します。値のプロキシを生成するために、同様のアプローチを取ることができます。
アプリケーション固有RequestFactory
のRequestContext
インターフェイスは、一見定型句のように見えますが、定型句ではありません。エンティティ クラスのサーバー側の実装についても同様です。
Locator
ServiceLocator
完全にオプションです。エンティティ自体に永続化コードを実装したくない場合にのみ必要になります。
これで、クライアント側のコードが残ります。GWT エディター フレームワークが RequestFactoryとどのように連携するかを調べて、さまざまな RequestFactory インターフェースを操作するための一般的なクライアント側コードを作成する方法についてのアイデアを得ることができます。