我有下面的使用情况,我得到的事件包含JsonString1,我不得不做一些处理/转换到Object1通过对象4.截至目前,我只有一个这样的案件和它的很可能在将来会出现更多这样的层次结构(最多2-3层)。Java设计模式/转换模式
我无法决定什么是优雅的方式来编码。
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)
我是否适应这样的变化,以及通过串变换提供的接口,或者它这是一种矫枉过正?
通常我被困在这样的地方,我试图找出最优雅的方式来做到这一点,并最终花费大量时间?对此还有什么一般建议吗? :)
谢谢
你可以举个例子,你正在努力实现的目标(输入 - >输出 - >变换) ? – 2013-04-21 18:54:46