最佳实践是在写数据库之前跨多个分片收集数据

本文关键字:数据 数据库 最佳 | 更新日期: 2023-09-27 17:51:22

Android应用程序使用。net/xamarin。我在查看页上发现了一些碎片。如果我要在分页中的每个片段上收集一些数据,那么在我去的时候收集所有数据并且最后只写一次数据库的最佳方法是什么?我正在使用sqlite数据库。但是,假设在寻呼机中有两个片段。第一个片段收集用户名、姓和名。然后,一个next按钮将他们带到第二个片段的地址和电话号码。在他们完成后,他们点击保存,然后我可以写到db一个我已经收集了所有的信息。

当然,我可以在每个片段之后写入db,但这真的是最佳实践吗?我不想把数据从一个片段传递到另一个片段。这似乎是上面例子的一种方式,但我认为它的可扩展性不好,例如,如果我后来用5个片段收集数据。

我一直在考虑一个单例类。我读到他们应该不惜一切代价避免,但也许这是一个适合他们的应用程序?我可以用我所有的属性创建一个单例,当我遍历片段和构建数据时,它们被保存在单例中。最后,我基本上将单例数据写入数据库并将其清除,为下次处理做好准备。我不认为我必须担心线程安全在这个用例中,或者至少,我可以写它,所以它不是一个问题。

是这样吗?还有其他想法吗?

谢谢!

迈克

最佳实践是在写数据库之前跨多个分片收集数据

当您需要管理资源(例如数据库连接)时使用单例。在这种情况下,我建议不要仅仅使用单例来存储数据。

你建议使用单例的方式与传递对象没有太大的不同,唯一的区别是,单例可以为你正在填充的对象发出请求。

你可以这样做,将有一个对象表示每个片段。这将允许您在给定的类中初始化并具有片段依赖逻辑(例如验证)。

然后,您将拥有一个更通用的对象,它将保存来自所有片段的信息,这些信息最终将保存到DB中。您可以将这个对象从一个片段传递到下一个片段,并且每个片段填充它感兴趣的位。