我正在建立一個ASP.Net MVC 3應用程序,它利用:
- jQueryUI的許多UI部件/控制CRUD操作
- 現有的基於SOA的系統(使用DDD概念構建)。這包括針對讀取操作進行優化的服務(請參閱CQRS)。這些服務是RESTful(託管在IIS/Appfabric中),因此可以通過來自javascript的簡單HTTP請求訪問。這些服務也可以通過引用服務二進制文件並從控制器訪問(或者當然,通過層來將Controller與服務分離等)來直接使用。
問題
是以往任何時候都適合於執行,例如,通過直接使用現有的RESTful API從JavaScript,而不是調用控制器方法則使服務調用讀操作?或者我們應該總是使用Controller方法進行任何類型的CRUD操作?
參與討論
- 似乎打破,說你不應該繞過一個層
- 在另一方面的規則,如果我們總是利用控制器它,然後覺得有些多餘的,我們正在包裝這個服務基本上在另一個RESTful API中使用ASP.Net MVC。
我的直覺,當我開始看這是我們最終會寫入控制方法的一些操作,其中或許頁輸出(視圖)的操作是最容易當我們在模型中的數據。然後會出現其他操作,例如,可能會抽出一個員工列表進行簡單查找,這樣就不需要使用Controller方法,並且可以直接訪問我們現有的RESTful API。感覺混亂,有些開發人員會對何時直接使用Controller方法或現有的RESTful API感到困惑。
任何想法或建議,將不勝感激。
謝謝。
+1,完全同意。儘管這兩種方式都有效,但從長遠來看,一致性會讓生活更輕鬆。你不必向新開發人員解釋爲什麼有些東西通過控制器,有些則不通過。如果您在幾年後回到項目中,您也不必嘗試記住自己該做什麼。 – Tridus 2011-06-08 10:18:08
謝謝。正如你所提到的,這是開放的辯論,但我接受這個答案,因爲我只是欣賞一些意見。 – tidmutt 2011-06-29 17:02:46