建议设计问题的解决方案

时间:2013-01-23 07:11:04

标签: php design-patterns

我有一个班级说照片和代码如

class photo  
{  
    public function __construct($UserWhosePhotoToBeGetObj)  
    {    
       $this->UserWhosePhotoToBeGetObj = $UserWhosePhotoToBeGetObj  
    }  
}

public function getPhoto()  
{  
   // some complex logic and query to get detail of photo of user.  
}

现在的问题是,当我想获得多个用户的照片时,如果我在循环中调用此类,那么将触发许多查询,如果我创建类photoArr,那么我需要在两者中编写复杂的逻辑类。

2 个答案:

答案 0 :(得分:0)

也许,您可以在一个函数中捆绑基于用户形成查询的逻辑,并在多个用户的情况下一次又一次地调用该函数。我想不到避免收集多个用户。

答案 1 :(得分:-1)

“照片”听起来像一个数据类。数据类不应包含用于获取内容的逻辑。在构造函数中传入“获取照片的用户”似乎也是错误的。

这样的逻辑可能应该放在具有当前getPhoto逻辑的PhotoFetcher类中。例如getPhotoForUser(User $ userForWhichToGetPhoto)。它还可以支持批量提取。