2014-04-25 91 views
0

Car類中的以下GetPhycialFileLocation()方法是否有自己的Service Layer?此方法是否適合服務層?

public class Car 
{ 
    public int id; 
    public string model; 
    public int year; 
    public IList<Pic> lstCarPics; 
} 

然後我們各自的階級:

public class Pic 
{ 
    public string filename; 
    public string fileLocation; 
    public string GetPhysicalFileLocation() 
    { 
     string LocalDirectory = "~\\CarFiles\\"; 
     DirectoryInfo diPath = new 
      DirectoryInfo(HttpContext.Current.Server 
         .MapPath(LocalDirectory + car.id); 
    } 
} 

看到,這種方法和其他人將在整個應用程序訪問物理文件位置,會是這樣的理由有它自己的FileService?

我很難理解像這樣的方法應該屬於它自己的服務層還是將它留在它的類中。

+0

這應該問[codereview.stackexchange.com](http://codereview.stackexchange.com/) –

+0

可能重複的[何時使用服務層vs地方法在類?](http:// stackoverflow .com/questions/23295255 /何時使用服務層vs地方法的課堂) – jnovo

回答

1

當運行到這樣的疑問,是想在真正的對象,它們的行爲和責任方面通常是有用的,所以你可以問自己:

  • 不要圖片查找文件位置?聽起來不像從PicturePictureFile可以預期的行爲。

  • 是一張圖片負責查找它的存儲位置?我不這麼認爲,也許PictureLocatorFileLoader

每當這種方法屬於一個服務層,應用層,甚至是數據層,取決於你的架構。雖然我不知道細節,但在服務層中看起來像是一種非常簡單的方法。

+0

最後!!!一些好的和簡潔的信息!謝謝@jnovo !!! – InCode

相關問題