我正在处理一个小部件,用于重新排序菜单。经常读/写一个小文件会降低性能吗?
为此,我添加了像MoveUp,MoveDown,Add,Delete这样的按钮,这些按钮应该改变XML文件中菜单的顺序,因为正在读取XML文件以用于填充菜单。
现在我的问题是,我应用文件打开,写入和关闭操作,每一次点击这些按钮,它们立即变为XML文件。这对我来说是相对简单的方法。鉴于此,小部件也有comboBox,它从xml中读取,然后填充小部件中内部子级子菜单的当前顺序。 (相同的:MS展望 - >工具 - >自定义 - >重新排列命令)
我的XML文件是一个小约1.5K。 我想知道哪个选项会更好? i)上面提到的那个,为每次鼠标点击打开读写XML文件。
ii)创建一个数据结构,该数据结构一旦读取文件,存储数据并且所有活动都随这个数据发生,最后OK按钮将数据写入实际的XML文件。
我个人喜欢选项(i),它很容易实现整体。 如果(ii)一个更好的选择,那么我应该使用什么数据结构? XML文件格式是这样的:
<menu>
<action id="1">menu1</action>
<action id="9">menu2</action>
<submenus id="5" name="submenus 1">
<action id="17">menu14</action>
</submenus>
<action id = "10">menu1</action>
<submenus id="7" name="submenus 1">
<action id="3">menu14</action>
</submenus>
<action id="11">menu2</action>
</menu>
权衡之间频繁的读/写一个小文件,一旦读取,创建一个数据结构来存储数据,最后只写一次,哪一个是更好的选择?
注意:我使用QT DOM与C++来实现所有这些目的。
不知何故,我觉得它是第二个。如果有一个替代频繁的文件读/写,那么为什么不呢。 –
第二个选项可能更方便用户,因为用户可以不加修改地取消。至于性能:它可能对用户没有太大的区别,如果有疑问,可以对其进行配置 –