我想为个人使用实现一个表示 GPS 数据的结构化集合的对象。
目前,有很多文件格式来表示这些数据,所有这些格式都有一些小的变化:
- 跟踪点将是一个 4 元素元组,表示固定顺序的序列
(latitude, longitude, elevation, timestamp)
。 - 跟踪段是跟踪点的序列(有序集合),按时间戳排序,表示一条连续的线。
- 轨道是轨道段的有序集合,按“创建时间戳”排序,表示不连续的线(或给定顺序的多条连续线)。
我的问题是:“从面向对象的设计良好实践的角度来看,我应该如何命名一个类来代表一个(不一定是有序的)轨道集合”?
例如,假设我有一个 GPX 文件和一个 KML 文件,并且我想将两者都保存到一个 JSON 文件中,那么 API 调用将是:
kmldata = new GPS_Data("somefile.kml");
gpxdata = new GPS_Data("somefile.gpx");
merged = GPS_Lib.merge(kmldata, gpxdata);
merged.save_to_json("somefile.json");
我觉得“GPS_Data”太宽泛了。此外,这将是通常序列化为文件的结构,但“GPS_File”过多地涉及持久性的实现,但这是对象的偶然使用(序列化到磁盘),而不是它的定义。