我正在开展一个需要绘制一些数据的项目。目前,我将所有数据保存在一个对象中,然后将指向该对象的指针提供给图形。但是有可能动态地改变数据,而我需要改变图形获得的数据。所以这是我的问题:
我应该每次编辑数据时创建一个新数组,然后更改图形中的指针,还是只更改原始数组中的数据并重新绘制图形?
答案 0 :(得分:1)
保持单一模型是首选方法,尤其是从内存性能的角度来看。但是,它可能取决于。如果你在其他地方使用相同的模型,那么你必须进一步思考。
答案 1 :(得分:1)
使用不可变数据可以产生更清晰,更可预测的API。如果你改变了图形API当前使用的数组,讨厌的交互就在潜伏着。这可能导致图形API在内部防御性地复制阵列;在那一点上你输了:如果你开始采用不可变的方法,你会得到比你需要更多的复制。