当模型涉及另一个模型时,它是否会影响得墨忒耳定律?

时间:2015-09-04 23:08:05

标签: php

我有一个全局容器类:

final class Container
{
    /**
     * @return ForumThread
     */ 
    public static function getForumThread()
    {
        if (self::$obj1 === null)
        {
             self::$obj1 = new ForumThread();
        }
        return self::$obj1;
    }

    /**
     * @return ForumPosts
     */ 
    public static function getForumPosts()
    {
        if (self::$obj2 === null)
        {
             self::$obj2 = new ForumPosts();
        }
        return self::$obj2;
    }
}

我的模特:

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:
        Container::getForumThread()->findBadLanguage($comment);
    }
}

我知道findBadLanguage()应该在另一个班级,但我们可以假设这样。让我们关注Container :: get ****()调用。可以转向全局容器并从中获取对象吗?它不会影响得墨忒耳的法律吗? (那些对象必须只存在一次,并且可以进行DI-ed)

编辑:您可以将Container视为工厂

0 个答案:

没有答案