6

GWT ClientFactory似乎是 GWT 应用程序萌芽的新设计模式,虽然不是 GWT API 的正式一部分,但受到 GWT 的鼓励,并在无数 GWT/MVP 示例中找到。

喜欢这个ClientFactory概念。但我担心的是:对于具有许多屏幕、显示区域和复杂架构的真正大型应用程序,单个应用ClientFactory程序将成为数据结构的巨大单体,其上可能有数百个 getter 方法。

所以我问:这样可以?为什么 GWT 鼓励和接受这样的单体设计,但在其他(一般)应用程序中却没有。更重要的是,有没有办法将广泛跨度分解ClientFactory成工厂对象的层次结构,以帮助代码可维护性、依赖项/引用等?

如果是这样,是否将 a 分解ClientFactory为更小的工厂,每个工厂负责为应用程序的不同部分注入必要的视图、演示者等?

4

2 回答 2

8

这个ClientFactory想法只是手动 DI,使接线简单易懂。在不了解GIN甚至 GWT 的情况下,这些应用程序似乎主要是 Java,让您了解如何使各个部分工作,而无需了解作者首选的连接应用程序的方式的细节。

就像一个示例 Java 教程会让您从 开始public static void main(String[] args),或者可能让您构建一个完全手动的 Servlet,您可以使用它来获得这个想法,然后转向一个结构更好的应用程序。ClientFactory的实用性来自于它作为一个概念的简单性和透明性,而不是因为它是构建大型应用程序的唯一方法。

于 2012-10-29T18:56:16.597 回答
1

正如 ben_w 建议的那样:

使用 Google Gin 并通过创建一些 GinModules 创建您的应用程序。比你@Inject在客户端使用。这将有助于处理复杂性。事实上,如果没有依赖注入,我不会启动任何项目。

于 2012-10-29T18:44:48.167 回答