用于组装分散数据的java设计模式?
我正在设计一个系统,它将分散数据组装成标准的行/列类型输出
每列可以:
- 存在于一个独立的系统中李>
- 可以分页李>
- 可以排序李>
- 每列可以包含数百万行李>
以及该系统:
- 需要可扩展,以便可以输出不同列的不同表李>
- 最后一个域对象是已知的(行)李>
- 所有系统中的键都是恒定的李>
我当前的实现计划是每列设计两个类(或者一个类列实现两个接口)。这些接口将:
- 实现分页和排序李>
- 实施“装饰”
其思想是,表构造函数将接收有关当前排序列和页面的信息。然后返回表的相应键的列表。此信息将用于创建域对象行的列表,然后依次传递给每个列“装饰”实现,以便依次添加每个列的信息
我想我的问题是——推荐什么样的设计模式——或者人们会使用其他设计决策来使用公共键和变量列组合分散数据
# 1 楼答案
我不确定我是否完全理解了您要做的事情,但从我收集的信息来看,您希望以一种允许您以后从中创建结构化表的方式存储任意数据行。在这种情况下(假设您使用的是Java),我要做的是创建一个非常简单的
Column
接口,该接口只有一个“value”属性:然后,您可以通过实现
Column
来创建列:因此,您可以创建一个名为
DataRow
(或任何您喜欢的)的类,其对象将包含实际数据。例如,您可以在该类中有一个允许您添加数据的方法:如您所见,您可以通过给方法
setColumn()
一个新的Column
对象来调用它。这将允许您向DataRow
对象添加任何类型的数据。然后,为了生成一些表,您可以使用一个函数,该函数接受List
个DataRows
和List
个类,然后只返回具有指定行数据的对象:这将允许您使用数据和要包含在表中的列“创建”表
请注意,我写这段代码是为了传达一个想法,现在它相当混乱。但我希望这能在某种程度上帮助你