给定一个域对象(比如说Person),该对象是否应该包含它的Data Mapper(Person_Mapper)?域对象是否应该包含映射器?
例如,我可以在这两种不同方式的灭活作用的工作:
$mapper = new Person_Mapper();
$person = $mapper->load(1);
$person->active = false;
$mapper->save($person);
或者这样:
$mapper = new Person_Mapper();
$person = $mapper->load(1);
$person->inactivate();
class Person
{
public function inactivate()
{
$this->active = false;
$this->_mapper->save($this);
}
}