【发布时间】:2014-10-25 21:41:06
【问题描述】:
我有移动应用程序和服务器。用户可以通过我的移动应用程序注册。用户输入他们的电子邮件和所需的密码以进行注册。有适用于密码的规则,例如密码长度、允许的字符等。在允许用户继续注册之前,根据这些规则集检查输入的每个密码。
我的假设是服务器完全负责数据完整性和遵守所有逻辑规则。所以服务器无论如何都必须检查所有数据。 因此,用户输入密码,密码(连同电子邮件)被发送到服务器,服务器检查两者,并在出现任何问题时将错误返回给客户端,并带有描述错误的消息。 应用程序仅显示此消息:“密码必须包含至少一个数字”。已通知用户。
但是
服务器的回复可能需要一些时间才能到达客户端。等待 5 秒后,用户可能会不高兴收到消息。 所以,我认为在请求之前检查密码并迅速通知用户违反规则会很好。 最简单的解决方案就是在客户端代码中复制规则。
问题出现的那一刻。逻辑重复是我真正想要避免的。所以我正在考虑某种 API 端点,它以 json 或 XML 格式返回所有规则(例如:密码规则)。这些规则只能在服务器上配置,并且无论何时更改 - 肯定会被所有客户端应用。 在我看来,解决方案既可以让我在客户端上进行“快速密码合规性检查”,又可以避免逻辑重复。不过是不是看起来太复杂了?
我的问题是:为了避免逻辑重复并使密码检查过程不依赖于网络连接质量,实施这些规则的最佳(推荐)方法是什么?
【问题讨论】:
标签: android ios design-patterns data-integrity duplication