假设我有一个 Thing 类,并且我需要使用一些由扩展 Zend_Validate_Abstract 的 MySpecificDateValidation 类提供的特定日期验证。
在 Thing 类中,我正在考虑依赖注入并想知道这段代码是否:
public function SetDateBegin($dateBegin) {
$dateValidator = new MySpecificDateValidation();
if ($dateValidator->isValid($dateBegin)) {
$this->dateBegin = $dateBegin;
} else {
throw new Exception /*...*/;
}
}
应该重构为:
public function SetDateBegin($dateBegin, MySpecificDateValidation $dateValidator) {
if ($dateValidator->isValid($dateBegin)) {
$this->dateBegin = $dateBegin;
} else {
throw new Exception /*...*/;
}
}
或者有一些你可以忍受的依赖?