独立的获取器/setter方法,还是组合方法?
2022-08-30 21:16:23
在处理项目时,我一直在进行一些更改,并浏览现有的框架API文档以获取见解。
在仔细阅读Kohana文档时,我注意到任何给定类的getters/setters通常是组合的:
public function someProperty($value = null){
if(is_null($value){
return $this->_someProperty;
}
$this->_someProperty = $value;
return $this;
}
而不是:
public function setSomeProperty($value){
$this->_someProperty = $value;
return $this;
}
public function getSomeProperty(){
return $this->_someProperty;
}
除了减少给定类的方法计数之外,这样做(前者)有什么价值吗?我一直认为方法(一般函数)应该更能描述一个动作。其他有经验的开发人员在看到这一点时会畏缩,哪怕是一点点?
我只是惊讶地看到一个流行的框架使用这样的约定(我当然没有使用Kohana。)