我目前正在开发一个 todolist 系统,它就像一个日历来存储你的任务,一旦你完成它就可以将它们核对掉。我们还应该能够撤消所做的更改。
目前,我的项目伙伴建议我们将数据存储到不同日期的文件中,当我们想要搜索特定任务时,只需搜索文件是否存在,然后在需要时编辑和直接操作文件。
但是,我觉得最好将数据存储到 1 个大文件中,并在我们的程序执行时将其加载到内存中(可能是任务列表)。我无法解释为什么。
在处理这个问题时,OOP 是否会出现?
对不起,如果我有点困惑,因为我还在学习。
我目前正在开发一个 todolist 系统,它就像一个日历来存储你的任务,一旦你完成它就可以将它们核对掉。我们还应该能够撤消所做的更改。
目前,我的项目伙伴建议我们将数据存储到不同日期的文件中,当我们想要搜索特定任务时,只需搜索文件是否存在,然后在需要时编辑和直接操作文件。
但是,我觉得最好将数据存储到 1 个大文件中,并在我们的程序执行时将其加载到内存中(可能是任务列表)。我无法解释为什么。
在处理这个问题时,OOP 是否会出现?
对不起,如果我有点困惑,因为我还在学习。
这是数据库解决方案的完美任务。我建议您使用 Visual Studio 中包含的 SQL Server 数据库来执行此任务。将每个任务存储为表格中的行,并在编辑时选择日历视图的日期和主题以及一个任务的所有值。VS 有一些非常好的工具可以在几分钟内创建这样的应用程序(对于有经验的用户)
当几个人需要同时编辑数据时,处理文件总是一团糟。
首先,这是一个持久性问题,应该使用众所周知的模式进行圆顶处理。您可以使用数据库和存储库模式来解决这个问题。Nosql 数据库也是一种选择,因为它易于设置并且没有与 SQL 数据库相关的开销。
但是,如果您可以选择平面文件,那么将所有数据保存在内存中就会出现异常发生或程序关闭您丢失所有数据的缺陷。使用创建读取更新和删除 CRUD 循环需要持久性。这会导致您在进行时以小块的形式持续存在,并且在崩溃时只会丢失少量数据。
最佳实践始终取决于您正在做的工作,因为您必须对待办事项列表进行多次操作,因此如果您使用客户端内存(如 sdf 文件)而不是制作文件,它会更好,因为 sdf 文件可以工作作为数据库,因为它重量轻,大数据比文件更容易处理