我希望有一种方法验证机制。我在寻找的是:
public void someMethod(@valid String emailAddress, @valid Integer ID) {
}
这是一个通用类,不一定是java bean。我想要这个的原因是我想要将验证逻辑与这个特定的类分开。
此外,我想使用DRY原则,这意味着如果各种不同的方法将使用相似的参数,所以我既不想复制工作也不想引入处理类似输入类型的不一致。
此外,我想让我的代码更具可读性,否则,我的方法体将会被if / then / else验证逻辑所覆盖,这将使得难以理解实际逻辑并导致不必要的分心。
如果我的代码用一些逻辑注释,那么像spring这样的人必须调用它 - 我觉得这部分我理解。所以我不确定如何实现这一点。面向方面的编程是否有效?
答案 0 :(得分:2)
如果在多个方法中使用setTimeout
和emailAddress
,我会为每个方法创建一个类,并在各自的构造函数中使用验证逻辑。这样你就可以保证这些类的每个实例都是有效的。然后,您上面的方法签名将成为ID
。
基本上,问题的根源是使用具有各种语义含义的字符串和基元。最简单的解决方案是使用自定义的有意义的类而不是字符串和原语。