2

哪个更有意义?

这个可能更容易使用,因为您只需 $article->save();

 <?php

class Article
{
    private $author;

    public function __constructor(Author $author)
    {
        $this->author = $author;
    }

    public function save()
    {
        $database = ServiceLocator::getDatabase();
        //save article logic
    }
} 

在这里,您传递对象,从而在您的控制器(或您使用它的任何地方)中拥有控制权。集中控制。

 <?php

class Article
{
    private $author;

    public function __constructor(Author $author)
    {
        $this->author = $author;
    }

    public function save(Database $database)
    {
        //Irgendwelche Logik um den Artikel zu speichern mittels $database
    }
} 

我更喜欢最后一个,但我不确定。什么是最先进的?

谢谢

4

1 回答 1

2

文章应该不知道如何自救。现在这篇文章的职责太多了。提取将文章保存到不同类的逻辑:存储库

于 2013-08-27T09:48:57.700 回答