基于GWT / GIN / GUICE的框架可扩展性

时间:2012-02-16 07:33:04

标签: gwt guice gin

我希望我的问题不是通用的。

我在gwt / gxt中创建了一个框架,它可以帮助开发人员使用一组预先定义的小部件创建一个非常快速的Web应用程序。

现在,他们希望拥有与特定客户非常相关的新功能,我发现扩展我的框架非常困难。我在客户端使用MVP模式,在服务器端使用GIN和GUICE。需要扩展的客户端组件也在服务器上具有相关服务以加载其数据。

我已经考虑过创建新的guice模块和“绑定”(不知道这是否是正确的词)现有的,但开发人员必须重写完整的模块或服务。

是否有人在客户端和服务器端使用gwt设计框架方面有一些经验?如果是,我如何为我的框架提供简单的可能性来扩展客户特定的东西。也许我可以使用一些不错的模式。

非常感谢

1 个答案:

答案 0 :(得分: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);
             }
         }
    }
}

然后,在您的应用程序中,当您创建注入器时,或者在您的servlet模块中,您可以执行install(MyAPI.getMyAPIModule());并且它将起作用