从模型中创建子对象

时间:2015-10-21 09:46:54

标签: symfony

我正在重构我的代码的一部分,并且想知道在实体的类中创建一个新的子对象是否被认为是一种好习惯。

E.g。我目前有一个实体'锦标赛'和这个锦标赛的控制器。如果我要去/ tournament / {id} / start,比赛就会开始。目前,我在我的控制器中创建了锦标赛的所有回合,但我正试图从一个胖控制器转移到一个胖模型。

在锦标赛模型中使用此功能是不错的做法?

    public function start() {

        for ($x; $x <= $this->amountOfRounds; $x++) {
            $newRound = new Round($this, $x);
            $this->addRound($newRound);
        }

    }

(注意:此块中的代码非常未经测试,但您明白了这一点)

非常感谢!

1 个答案:

答案 0 :(得分:1)

我建议您采用一种方法来管理业务流程:

class TournamentManager
{
    public function start(TournamentInterface $tournament)
    {
        $tournament->addRound(new Round());
    }
}

interface TournamentInterface
{
    function addRound(RoundInterface $round);
}

尽可能使用接口。