我需要在不同实体之间进行映射,以便在两个系统之间创建同步工具。映射是 1:1,我将在 4-5 个不同的实体之间进行映射。
例如
A1 -> B1
A2 -> B2
A3 -> B3
通信是通过 REST API 以 JSON 格式进行的,对于不同的请求,我必须将对象转换/转换为其 JSON 表示形式。
我想知道您在以下决定之间的想法:
1)在每个类中,创建一个类方法,该类方法知道如何转换为其他系统中对应的对象。每个类都知道如何通过实现 toJSON、toXML 方法来表示自己。
例如
class A1 {
static A2 toA2(A1 a1) return { }
String toJSON() return { }
}
class A2 {
static A1 toA1(A2 a2) return { }
String to JSON() return { }
}
2) 立即使用转换器类(对象 -> JSON),其中包含将对象转换为其他系统中相应 JSON 的方法。例如
Converter.entityAtoEntityBJSON(aEntityA)
,返回实体 B 系统中实体 A 的 JSON 表示。
第二个选项将导致转换器类知道每个实体,而在 1) 只有两个类彼此知道。此外,如果需要表示 XML,则每个类都可以实现一个 toXML()。
你怎么看?
编辑:添加了关于 REST API 的注释。