我有一个关于桌面应用程序的一般性问题。我和我的朋友正在讨论如何在应用程序运行时管理应用程序数据。我们就两种方法争论不休,无法得出结论。这两种方法是:
- 需要时读取数据,一旦发生变化就将数据写入磁盘。
- 应用程序启动时将所有应用程序数据加载到内存中,在内存中进行修改,最后在应用程序关闭时写入磁盘。
据我了解,主要论点是:
- #2 更快,因为所有数据都在内存中并且可以快速访问。
- #2 更好,因为它使用最少的文件 IO,据我所知,这被认为是一个缓慢而昂贵的操作。
- #1 更好,因为所有数据始终与磁盘同步,因此在程序异常终止时数据丢失的可能性有限。
- #1 更好,因为应用程序不会占用太多内存。
编辑:我们讨论的具体应用是一个课程管理系统,它涉及 4 个主要方面:管理员、教师、课程和学生。以上所有内容的数据都存储在磁盘上的文件中。基本上,该应用程序主要是数据驱动的。