因此,假设我定义了以下内容:
public interface IExportTool {
void export(IReport iReport);
}
然后尝试使用它:
public class KibanaExporter implements IExportTool{
public void export(IReport kibana) {
kibana = (Kibana) kibana;
((Kibana) kibana).toJSON();
}
}
但是,还有其他类也会再次做类似的事情:
public class MetricExporter implements IExportTool{
public void export(IReport metric) {
metric = (Metric) metric;
((Metric) metric).toJSON(); // might be something else here like toXML etc
}
}
请注意,Kibana和Metric都分别在实现IReport<KibanaRow>和实现IReport<MetricRow>,而IReport接口的外观如下:
public interface IReport<T> {
void addRow(T row);
}
我不喜欢所有这些转换,这感觉不正确,也无法自动完成,所以有什么建议如何正确执行吗?
开心每一天1111
相关分类