我正在阅读有关 Object Calisthenics 的内容,其中一条规则是包装原始类型和字符串:
class UIComponent {
public function repaint($animate = true)
{
//
}
}
$component->animate(false);
变成:
class UIComponent {
public function repaint(Animate $animate)
{
//
}
}
class Animate {
private $animate;
public function __construct($animate = true)
{
$this->animate = $animate;
}
}
$component->animate(new Animate(false));
我用这种技术有什么好处?在我看来,我认为它只是使事情复杂化并添加了更多代码行。