2013-01-23 115 views
0

我有一個類說,照片和代碼像建議解決設計問題

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那麼我需要在這兩個類中編寫複雜的邏輯。

回答

-1

「照片」聽起來像一個數據類。數據類不應包含獲取事物的邏輯。在構造函數中傳遞「獲取照片的用戶」似乎也相當錯誤。

這種邏輯或許應該去擁有你當前getPhoto有邏輯PhotoFetcher類。例如getPhotoForUser(User $ userForWhichToGetPhoto)。它也可以支持批量抓取。

0

或許,你可以捆綁形成基於一個功能的用戶查詢的邏輯,並在多個用戶的情況下,一次又一次地調用該函數。我無法想象避免收集多個用戶。

+0

offcourse我可以在查詢中使用?那麼情況應該如此? – chicharito