給定一個域對象(比如說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);
}
}