2012-02-16 9 views
1

私の質問は一般的ではないことを願っています。GWT/GIN/GUICEに基づくフレームワークの拡張性

gwt/gxtにフレームワークを作成しました。これは、開発者が事前定義されたウィジェットを使って非常に迅速なWebアプリケーションを作成するのに役立ちます。

今では、彼らは特定の顧客と非常に関連した新しい機能を望んでおり、私のフレームワークを拡張することが非常に難しいと感じました。私はクライアント側でGINとGUICEを使ってサーバー側でMVPパターンを使用しています。拡張が必要な​​クライアントコンポーネントも、データをロードするためにサーバー上に関連するサービスを持っています。

私は既に新しいguiceモジュールを作成し、既存のものを「バインド」(正しい単語であるかどうかわかりませんが、開発者が完全なモジュールまたはそのサービスを書き直さなければならないこと)を考えました。

誰かが既にクライアント側とサーバー側でgwtを使ってフレームワークを設計している経験がありますか?はいの場合、私はどのようにして顧客固有のものに拡張するための簡単な可能性をフレームワークに提供できますか?たぶんそこには私が使うことができる素敵なパターンがあります。

どうもありがとう

+0

[mvp4g](http://code.google.com/p/mvp4g/)と[gwt-dispatch](http://code.google.com/p/gwt-ディスパッチ/) –

答えて

0

私はあなたが質問右理解していれば、あなたは私が今持って、この考え方に似て何かを行うことができます。あなたのフレームワークで

、あなたはこのように、すべてのモジュールとモジュールを提供することができます:

public class MyAPI { 
    public static List<Module> MODULES = Arrays.asList(new FooModule(), new BarModule(), new OtherModule()); 
    public static Module getMyAPIModule() { 
     return new AbstractModule() { 
      protected void configure() { 
        for(Module m : MODULES) install(m); 
      } 
     } 
    } 
} 

を次に、あなたのアプリで、あなたはインジェクターを作成するとき、またはサーブレットモジュールでは、あなたが行うことができますinstall(MyAPI.getMyAPIModule());それが動作します

関連する問題