私は Object Calisthenics について読んでいましたが、ルールの 1 つはプリミティブ型と文字列をラップしていました。
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));
この手法を使用すると、どのような利点が得られますか? 私の意見では、物事が複雑になり、コード行が追加されただけだと思います。