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

Posted

技术标签:

【中文标题】基于 GWT/GIN/GUICE 的框架可扩展性【英文标题】:Framework Extensibility based on GWT/GIN/GUICE 【发布时间】:2012-02-16 07:33:04 【问题描述】:

我希望我的问题不是笼统的。

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

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

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

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

非常感谢

【问题讨论】:

我们使用mvp4g和gwt-dispatch 【参考方案1】:

如果我理解你的问题,你可以做一些类似于我现在得到的想法的事情。

在您的框架中,您可以提供一个包含所有模块的模块,如下所示:

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()); 并且它将起作用

【讨论】:

以上是关于基于 GWT/GIN/GUICE 的框架可扩展性的主要内容,如果未能解决你的问题,请参考以下文章

Vue+.NET Core可支持业务代码扩展的开发框架

技术基于Apache Spark以BigDL搭建可扩展的分布式深度学习框架

Apache thrift - 使用,内部实现及构建一个可扩展的RPC框架

爬虫(十四):Scrapy框架 初识Scrapy第一个案例

高性能可扩展的python自动化运维框架

响应式Web设计 - 布局