在模型中使用服务/工厂时,这不会影响Demeter的法律吗?

时间:2015-09-05 10:25:01

标签: php factory law-of-demeter

class ForumThread
{
    /**
     * @return bool
     */
    public function findBadLanguage ($inWhat)
    {
        return (bool)rand(0,1);
    }

    /**
     * @return
     */
    public function add ($threadName)
    {
        if (!$this->findBadLanguage ($threadName))
        {
             INSERT INTO
        }
    }
}

class ForumPost
{
    /**
     * @return
     */
    public function post ($toThreadId, $comment)
    {
        // im talking about this:
        Services::getForumThread()->findBadLanguage($comment);
    }
}

我知道findBadLanguage()应该在另一个班级,但我们可以假设这样。让我们关注Services :: get ****()调用。可以转向全局容器并从中获取对象吗?或者转向工厂?它不会影响得墨忒耳的法律吗?它说我们不能使用来自外部的对象

0 个答案:

没有答案