当前位置:  开发笔记 > 编程语言 > 正文

域对象是否应包含其映射器?

如何解决《域对象是否应包含其映射器?》经验,为你挑选了1个好方法。

给定一个域对象(例如,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);
    }
}

James L.. 5

Person类应该只知道Person的东西,因此不应该包含任何与数据映射有关的东西.

请参见http://en.wikipedia.org/wiki/Single_responsibility_principle



1> James L..:

Person类应该只知道Person的东西,因此不应该包含任何与数据映射有关的东西.

请参见http://en.wikipedia.org/wiki/Single_responsibility_principle

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有