6

GWT ClientFactoryは、GWTアプリの新しいデザインパターンのようであり、正式にはGWT APIの一部ではありませんが、GWTによって推奨されており、無数のGWT/MVPの例に含まれています。

コンセプトが気に入りたいです。ClientFactoryしかし、ここに私の懸念があります。多くの画面、表示領域、複雑なアーキテクチャを備えた非常に大きなアプリの場合、1つClientFactoryがデータ構造のこの巨大なモノリスになり、数百のゲッターメソッドが含まれる可能性があります。

だから私は尋ねます:これは大丈夫ですか?このようなモノリス設計がGWTで推奨され、受け入れられるのに、他の(一般的な)アプリケーションでは受け入れられないのはなぜですか。ClientFactoryさらに重要なことに、コードの保守性、依存関係/参照などを支援するために、広範囲をファクトリオブジェクトの階層に分解する方法はありますか?

もしそうなら、1つはClientFactory小さな工場に分解され、それぞれが必要なビュー、プレゼンターなどをアプリの異なる部分に注入する責任がありますか?

4

2 に答える 2

8

ClientFactoryアイデアは、簡単でわかりやすい配線を可能にするための手動DIです。GINやGWTについて何も知らなくても、これらのアプリケーションはほとんどJavaであるように見え、アプリケーションを相互に接続するための作成者の好みの方法の詳細を学ぶ必要なしに、ピースを機能させる方法の全体像をつかむことができます。

サンプルのJavaチュートリアルで開始するpublic static void main(String[] args)場合や、完全に手動のサーブレットを作成する場合と同様に、これを使用してアイデアを得てから、より構造化されたアプリケーションに進むことができます。ClientFactoryの有用性は、大規模なアプリケーションを構築するための1つの真の方法であるためではなく、概念としてのその単純さと透明性にあります。

于 2012-10-29T18:56:16.597 に答える
1

ben_wが示唆するように:

Google Ginを使用し、いくつかのGinModuleを作成してアプリを作成します。クライアントサイドで使用するよりも@Inject。これは、複雑さを処理するのに役立ちます。実際、依存性注入なしではプロジェクトを開始しません。

于 2012-10-29T18:44:48.167 に答える