GWT ClientFactory似乎是GWT应用程序的一种崭新设计模式,尽管它并不是GWT API的正式组成部分,但它受到GWT的鼓励,并在无数的GWT / MVP示例中被发现。
我想喜欢ClientFactory
概念。但是,我担心的是:对于具有许多屏幕,显示区域和复杂体系结构的大型应用程序,一个ClientFactory
将成为数据结构的庞大组成部分,其中可能包含数百种getter方法。
所以我问:可以吗?为什么鼓励这种整体设计并被GWT接受,但在其他(通用)应用中却不被接受。更重要的是,是否有一种方法可以将宽泛的ClientFactory
分解为工厂对象的层次结构,以帮助提高代码的可维护性,依赖性/引用等?
如果是这样,是否有人将ClientFactory
分解为较小的工厂,每个工厂负责为应用程序的不同部分注入必要的视图,演示者等?
最佳答案
ClientFactory
的想法只是手动DI,以便于进行简单易懂的接线。在不了解GIN甚至GWT的情况下,这些应用程序似乎大部分都是Java,从而使您了解了如何使程序工作的过程,而无需了解作者将应用程序组合在一起的首选方式的细节。
就像样本Java教程可以从public static void main(String[] args)
开始,或者可以构建一个完全手动的Servlet一样,您可以使用它来获得构想,然后继续研究结构更好的应用程序。 ClientFactory
的实用程序来自其简单性和透明性的概念,而不是因为它是构建大型应用程序的唯一方法。