'格式化'的模式名称对象

时间:2017-04-06 10:12:01

标签: oop design-patterns

我有一个带有getter的Order值对象。目前,我将此对象传递给Formatter类,该类使用getter创建特定的数组结构。然后将此数组编码为JSON并发送到远程URL。

有不同的URL需要不同的数组结构,因此我创建了多个Formatter类来构建相应的数组。在某种程度上,这些格式化程序包裹着#39;原始对象但我没有公开的getter方法从formatter中公开原始对象。此外,每个格式化程序中只公开一个名为format的公共方法。

这些格式化程序是否可以被描述为装饰器/包装器模式,或者这甚至是一种模式?我没有明确地寻找来为它应用模式,但是我发现我在代码的其他部分使用了其他模式并将它们重新命名为较少的混淆。

1 个答案:

答案 0 :(得分:0)

考虑Visitor模式。访客允许在运行时将一个或多个操作应用于一组对象,从而将操作与对象结构分离。

访客用于编译器。一旦创建了抽象语法树(对象结构),就可以为不同的目的遍历AST。 在你的情况下,ObjectStructure可以是Order类,不同的目的可以反映不同的Formatters。