interface DoSomething
{
public function do();
public function getId();
}
class DoSomethingGood implements DoSomething
{
private $dependency;
private $id;
public function __construct($id, $dependency)
{
$this->dependency = $dependency;
$this->id = $id;
}
public function do()
{
if ($this->dependency->isActive()) {
return true;
}
return false;
}
public function getId()
{
return $this->id;
}
}
class DoSomethingBad implements DoSomething
{
private $id;
public function __construct($id)
{
$this->id = $id;
}
public function do()
{
return false;
}
public function getId() {
return $this->id;
}
}
我应该在这里使用组合或继承会更好吗?区别在于这些类如何实现do()
方法。第一类具有它所需要的依赖性和一些内部逻辑来决定,而另一类更简单。组成或继承
惊人的洞察力,请把一些链接到书,你在你的个人喜欢的文章,我真的不知道有什么可以做一个这样想。 – Arjang
@Arjang看看面向对象设计的基本原则:[SOLID](https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)) – pid