Java 用于向用户处理特定于版本的显示的设计模式
我一直在寻找这个模式有一段时间了,但仍然没有得到很好的方式来表示这一点 考虑一个GUI设计,它需要基于版本显示对象的属性,这些版本指定哪些属性对客户端有意义。(假设客户端具有受支持版本的详细信息) GUI布局需要根据此对象的版本进行更改。例如,对于某些版本,我们希望显示其他菜单等。对于某些版本,我们希望更改属性的顺序等 对于上述条件,是否存在定义如何表示类的模式Java 用于向用户处理特定于版本的显示的设计模式,java,user-interface,design-patterns,gwt,Java,User Interface,Design Patterns,Gwt,我一直在寻找这个模式有一段时间了,但仍然没有得到很好的方式来表示这一点 考虑一个GUI设计,它需要基于版本显示对象的属性,这些版本指定哪些属性对客户端有意义。(假设客户端具有受支持版本的详细信息) GUI布局需要根据此对象的版本进行更改。例如,对于某些版本,我们希望显示其他菜单等。对于某些版本,我们希望更改属性的顺序等 对于上述条件,是否存在定义如何表示类的模式 目前我们的做法是检查这些代码的版本控制,但它会失控,因此我正在寻找一种解决方案,它允许我们共享公共代码,并将特定于版本的代码分开,以便
目前我们的做法是检查这些代码的版本控制,但它会失控,因此我正在寻找一种解决方案,它允许我们共享公共代码,并将特定于版本的代码分开,以便我们能够维护它。以及对本地化版本的更改。我会将共享功能提取到另一个对象中,并在实际类中进行组合 例如,如果类是A,那么您将执行CommonA,并使一个_1包含CommonA的对象,而一个_2也包含CommonA的对象。这里,A_1和A_2代表版本1和版本2 _1和_2都公开相同的方法,并在内部委托给共享类
这样,您就不会复制,而是将特定于版本的内容本地化到A_1、A_2等中。也许您正在寻找延迟绑定:。
通过延迟绑定,您可以用特定于客户端的类替换您的类。或者,您可以替换Ginject,这样您就可以在gwt.xml中而不是在gwt.xml中组织重播。谢谢您提供的详细信息。我最终决定将特定于版本的代码委托给另一个类并处理面板的加载