图片我们有一个例外FooException
和一个验证器FooValidator
<?php
class FooException extends \Exception {}
class FooValidator {
public static function validate($string) {
if ('foo' != (string)$string) {
throw new FooException();
}
return true;
}
}
如果我们将验证位移到异常中会怎么样?
<?php
class FooException extends \Exception {
public static function validate($string) {
if ('foo' != (string)$string) {
throw new static;
}
return true;
}
}
这样,异常是唯一的责任,验证代码并在此类验证失败时抛出自身。这样你就不需要通用验证类 - 通常包含几个方法 - 或几对FooValidator,FooException类
免责声明:此问题是使用PHP编写的,但可以应用于任何其他语言