我有以下用例,其中我得到包含 JsonString1 的事件,我必须做一些处理/转换才能通过对象 4 到达对象 1。到目前为止,我只有一个这样的情况,而且将来可能会有更多这样的情况层次结构(最多 2-3 个)。
我无法决定用什么优雅的方式来编码。
JsonString1
|
JsonString2
/ \
JsonString3 JsonString4
| |
Object1 Object2
|
Object3
我可以有一个抽象类来处理 JsonStrings 1 到 4 以及每种事件类型的具体实现。就像是
public abstract class AbstractEventProcessor {
public AbstractEventProcessor(String jsonString1) {
// Do processing to get JsonString2, JsonString3 and JsonString4
}
}
public class Event1Processor extends AbstractEventProcessor {
Event1Processor(String str) {
super(str);
}
Object1 getObject1() {
}
Object2 getObject2() {
}
Object3 getObject3() {
}
}
类似的实现会随着更多事件的出现而发生。
有一个更好的方法吗 ?
现在还有两件事是不变的,但在极少数情况下可能会改变。
- 所有事件都会有 JsonString1 .. JsonString4 但最后的对象数量会有所不同。但在未来,这可能会改变。
- 虽然字符串的格式可能会改变(比如从 json 到 xml)不太可能(但并非不可能)
我是否也可以通过为字符串转换提供接口来适应这种变化,或者这是一种矫枉过正的做法?
通常我被困在这样的地方,我试图找出最优雅的方式来做到这一点并最终花费大量时间?对此也有任何一般性建议吗?:)
谢谢