我想重构一些遗留代码.
通过读取一些寄存器可以获得一些数据.此数据以csv和xml文件表示.
目前的方式很脏.数据和视图(XML,CSV)之间没有分离.实际上,对于每种格式,每次都会完成数据收集.
为了给你一张照片,它目前是这样的:
A::Timestamp()
{
//does some data collection and dumps to csv file
//the header for this csv file is built in PreTimeStamp function.
//depending on some command line options certain cols are added.
filehndle << data1 << ","<<data2<<"," << data3;
if( cmd_line_opt1 )
{
filehndle << "," << statdata1 <<","<<statdata2;
}
}
A::PreTimeStamp()
{
//header for csv file
filehndle << "start, end, delta";
if( cmd_line_opt1 )
{
filehndle << "," << "statdata1 , statdata2";
}
}
Run Code Online (Sandbox Code Playgroud)
还有另一个类B :: Profile(),它以与A :: Timestamp相同的方式进行数据收集,但数据被转储为XML.
我想重构它以使数据收集在一个共同的地方.并使用csv和xml的一些适配器来获取数据并以该格式转储它.
现在我需要一些关于我可以用来表示数据的模型的帮助.收集的数据不是固定的,所以我不能模拟它struct或一些静态类型.添加到csv文件的cols取决于命令行选项.
接下来的帮助我可以将像xmlWriter和CsvWriter这样的类插入到这个数据模型中吗?
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |