【发布时间】:2013-12-01 12:18:18
【问题描述】:
我们有一个名为 Variable 的类,它表示单值或复合值。例如,它可以保存一个整数、一个布尔值、一个字符串等......(单值)或一些可以是字符串列表、整数或其他变量的复合值。
我们序列化这些对象,并且在流中所有这些值都表示为字符串。每当我们序列化或反序列化时,都会发生类型转换。
还有一些可选功能或方法可以填充这些变量中的值。例如,您可以定义要从网页填充的变量 - 对于给定的变量,我们会查询缓存以了解是否应该从网页填充它。每当有人对变量执行 getValue() 时,我们都会填充该值。
我们还想跟踪一些变量的变化。例如,每当读取或更改变量的值时,我都可以选择记录或执行某些操作。
如您所见,这是一个层次结构,因为变量可以包含其他变量。我们想找到解决这个问题的最佳方法。
目前我们只有一个叫做变量的类,它有很多if/else条件,代码非常复杂。 例如,getValue() 代码执行以下操作:
if(查询缓存以查看是否需要从网页填充) 做一点事 别的( - -) 做一点事 否则(如果应该记录读取 - 从缓存中查找) 做点什么……
是否有任何模式来设计我的类,使我的网页逻辑中的所有人口都可以进入一个类,跟踪其他类中的逻辑,其他类中的类型转换逻辑等等......更具可读性。
【问题讨论】:
标签: java design-patterns