我有一個消息服務,具有創建,列表,更新和刪除操作。服務和控制器方法類似的操作
在這項服務中,我有一個ListByMember(int memberId)方法。
我需要建立兩個視圖,一個只列出消息的標題,另一個視圖列出標題和消息的描述,另一個列出標題和消息答案的總數接收。
我不知道我是否在服務層中創建了一個方法,並通過DTO傳輸了從消息實體到視圖和視圖中的所有信息。我只顯示了我想要的字段,或者如果我創建了三個方法在服務層獨立於它自己的DTO和特定的視圖。
我害怕創建一個單一的服務方法,如果將來我需要一個特殊的消息列表,我將面臨一個問題。
任何建議都會很好。
謝謝。
謝謝你好,所以你的每一個DTO我的意見有一個Service Public方法返回這個DTO類型?另一個問題btw,如果你有一個需要另一個實體的數據的ViewModel,比如說在博客的博客評論中,你是否創建了一個本地類,其中包含你在本地視圖模型中只需要的評論的詳細信息,並構建一個列表評論服務方法,或者使用使用coments服務方法執行列表的coments viewmodel?我認爲如果我需要專業領域,使用外部評估類可能會限制未來的變化。提前致謝。 – Patrick 2013-03-09 15:58:01
嗨,如果只需要在視圖中隔離博客評論的概念,我會在UI層創建一個DTO,然後使用一個服務,該服務將返回一個IQueryable以在控制器操作中對其進行投影。如果你有一個獨立的用戶界面服務層,那麼你需要將模型從用戶界面移動到用戶界面服務層,並在那裏進行投影。我很想發佈一個代碼片段來描述這個概念,但如此評論提供了有限數量的字符 –
2013-03-10 01:47:05
嗨,所以如果我明白你建議域 - >服務方法 - >地圖域到DTO - >控制器操作 - >將DTO映射到ViewModel - >查看每個「行」的行爲我有這條線,對嗎?您可以編輯您的答案,並根據需要填寫答案。謝謝 – Patrick 2013-03-10 23:55:29