И, поднимаясь дальше по дереву абстракций, для чего вы это используете?
Вы можете либо инициализировать эти значения в каждом классе соответствующим образом, либо создать определенный класс, содержащий все значения и атрибуты по умолчанию, например:
class Configuration {
private var $configValues = array( 'cool' => 'Defaultcoolval' ,
'uncool' => 'Defuncoolval' );
public setCool($val) {
$this->configValues['cool'] = $val;
}
public getCool() {
return $this->configValues['cool'];
}
}
Идея заключается в том, что при использовании функции defaultValue в коде повсюду вверх и вниз она станет кошмаром обслуживания, когда вам нужно будет изменить значение, отыскивая все места, где вы выполняете вызов defaultValue. И это также, вероятно, заставит вас повторить себя, нарушая СУХОЙ.
Принимая во внимание, что это единственное место для хранения всех этих значений по умолчанию. У вас может возникнуть соблазн избежать создания этих установщиков и получателей, но они также помогают в обслуживании, если целесообразно внести некоторые изменения в выходные данные или проверить входные данные.