验证输入的设计模式?

vol*_*lni 5 java validation design-patterns

验证输入的最佳方法是什么?为了论证,如果输入无效,用户想要一条消息来解释原因.

这是我能想到的.

  • Validator方法:将输入传递给验证器,true如果输入有效,则返回验证器.否则,验证器返回false(或错误代码)并让调用者处理无效输入.或者验证者负责自己采取行动.或者验证器调用回调方法.缺点:调用实际方法时,可能会重复执行验证所采取的步骤.

  • 将输入直接传递给方法,无需验证.让方法自己处理无效消息.它可以直接向用户发送错误消息,也可以使用回调方法.发送消息后,该方法必须返回或抛出异常以停止处理无效输入.调用类将继续到下一行输入.缺点:此方法现在具有发送错误消息的副作用.

这里适当的策略是什么?请注意,我不认为抛出异常是合适的,因为处理无效输入是应用程序的核心功能,至少在我的情况下.

Nic*_*ler 0

也许查看命令模式并将验证逻辑放入调用程序类中。