给定用户类:
class User
{
private $right;
public function getUsername() { }
public function login() { }
public function getRight()
{
return $this->right;
}
}
他有权利:
class Right
{
public function isAdmin()
{
return true or false;
}
public function isGuest()
{
return true or false;
}
}
所以每当我想要他的权利时,我写道:
$user->getRight()->isGuest();
我不知道它的好坏。首先它似乎很自然,因为right
属于user
。
另一方面,我打字太多了。如果$user->getobj1()->getObj2()->getRight()->isadmin();
怎么办?如果有25个堆叠物体怎么办?我觉得我打破了法律的德米特。那么好的还是坏的做法呢? Right
应该是一个独立的东西吗?