我有一些验证器类,例如ABCValidator,PQRValidator,XYZValidator等。所有这些类都只包含一个采用单个参数并对其进行验证的静态布尔方法。
对于ABCValidator类的示例:
class ABCValidator {
public static boolean isValid(abc){
//abc validation logic
//return true/false
}
}
上面的代码中是否存在任何反模式?
如果将所有方法集中在一个帮助器类中,而不是上面的方法,是否有副作用?
还有其他更好的方法吗?
最佳答案
我将创建一个接口:
public interface Validator<T> {
public boolean validate(T object);
}
然后创建实现此接口的类。这将允许使用多态性特征,并且也将更易于创建测试,尤其是如果
validate
方法所做的不只是计算,例如去数据库或Web服务。