user-interface - 在哪里存储用户界面选择?

标签 user-interface user-interaction

存储界面选择的广泛接受的方式是什么,例如“不再显示此消息”设置以及用户的任何其他特定于界面的选择?注册表?设置文件?我也可以将它们存储在数据库中,因为我的程序已经可以访问一个数据库了。

编辑
我当前的程序是本地程序,但是将来我想使其基于Web。

最佳答案

非基于网络的程序:

我不会使用数据库。如果您决定切换数据库会怎样?现在,您必须迁移用户数据。如果他们卸载会怎样?

在Windows中,用户的AppData文件夹中的设置文件是合适的。也可以在卸载时不删除它们,因此设置将在此期间保持不变。我会避开注册表进行用户设置。该区域更适合系统设置。

* nix系统中也有类似的领域,但我不确定。这很久了。

一个具有本地设置的基于Web的程序:

对于基于Web的程序,Cookie几乎是唯一针对计算机的选项。基于IP的过滤器是一个坏主意,因为大多数消费者Internet选项每天都会将IP轮换到每周一次。您可以进行MAC过滤,但这将涉及使用原始套接字获取MAC地址。即使那样,您最终也可能会得到路由器的地址,而不是计算机的地址。意味着单个路由器上的两个人将获得相同的设置。

具有全局设置的基于Web的程序:

您的程序应为此查询Web服务。然后,该服务可以自由地以当时最佳的方式实现它。数据库很适合这种情况,因为您的用户数据可能已经存在并在其中进行了键控,从而提供了一种将数据与特定用户关联的简便方法。

关于user-interface - 在哪里存储用户界面选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3318774/

相关文章:

user-interface - 用户界面 - 颜色和布局

ios - 从 ios 中的另一个 View 禁用 UIview 元素

ios - SWRevealViewController:显示后视时删除前视交互

iphone - 如何在两个重叠的 UIView 中启用用户交互?

ios - 捕获并停止传播用户交互 iOS UITableViewCell

java - 如何在 JavaFx 中创建通用 TableView?

svn - 你能帮我从版本控制系统开始吗?

c++ - Qt创建移动设备原型(prototype)工具

C++ 从主线程调用方法

C++ 类 + 对象和用户交互