ServiceStack 項目實例 003 建議的文件結構定義及服務類說明

      在咱們的SS項目中,建議的文件結構以下:數據庫

 

wKioL1SBRbyA2aI8AAG9asWSlg4505.jpg

 

   須要的最基本的文件包含三個文件,函數

   1 服務文件:其中包含有入口類、出口類定義和服務類的定義,入口類是HTTP 請求request時候使用的類,出口類是HTTP 相應中使用的類,服務類中會調用入口類和出口類,關於入口類出口類和服務類的說明見下文。post

 

   2 實體類文件:定義數據庫相關的實體類,在SS中,實體類既可用做入口類,也可做爲出口類。3d

 

   3 數據訪問類文件: 定義數據庫操做的功能函數,這些功能函數會使用實體類文件中的類定義來映射數據庫表,實體類文件中的類文件通常爲DTO類,同時被服務文件和數據訪問文件使用。blog

 

 

    服務類文件能夠根據須要分解爲多個,好比一個資訊管理系統包含有類別管理 文章管理 新聞管理 下載管理 專題管理 ,  就能夠將這幾個功能模塊分別對應一個服務文件,接口

示例以下:ci

CategoryService.cs ArticleService.cs NewsService.cs DownloadService.cs SpecialService.cs

 

 

     入口類、出口類和實體類在對外服務中的用處。get

 

     入口類是數據傳入的接口類,出口類是數據輸出的接口類,實體類既能夠做爲入口類也能夠做爲出口類。io

     通常的應用狀況是:table

添加和修改數據時 入口類爲實體類,封裝傳入的表單數據;
  出口類爲簡單類(POCO型),做爲操做狀態的返回信息,如是否操做成功
列表、顯示一條信息時 入口類爲簡單類(POCO型),一般對於的是URL參數或這post的查詢條件等
  出口類爲實體類,用於傳遞數據到到頁面,可附加虛擬字段,添加獲得的記錄條數、以及總計統計數值等
在刪除操做中 入口類通常不用實體類,而是傳入一個或一組ID來實現刪除操做,也能夠傳入實體類來完成操做
  出口類一般爲狀態信息,如操做是否成功,也可無任何返回信息

  

 

   

PS : 項目比較複雜時 , 文件拆分的建議

 

wKioL1SBRfmhgi7MAAPGBbu6JiM133.jpg

相關文章
相關標籤/搜索