目的
「リファクタリング」を理解するためにサンプルコードを PHP で書き換えてみました。
今回は「setメソッドの削除」について書きます。
「setメソッドの削除」 について
setメソッドを提供するということは、そのフィールドが変更される可能性を示しています。
例
変更前
<?php
class Account
{
private $_id;
public function __construct($id)
{
$this->setId($id);
}
public function setId($arg)
{
$this->_id = 'ZZ' . $arg;
}
public function getId()
{
return $this->_id;
}
}
$a = new Account(10);
echo $a->getId() . "\n";
変更後
<?php
class Account2
{
private $_id;
public function __construct($id)
{
$this->initializeId($id);
}
private function initializeId($arg)
{
$this->_id = 'ZZ' . $arg;
}
public function getId()
{
return $this->_id;
}
}
$a = new Account(10);
echo $a->getId() . "\n";