2016-01-06 58 views
1

我正在爲一個小應用程序設計架構,其中一項要求是將所有內容都公開爲服務。我知道使用web api控制器很容易做到。僅限webapicontroller或兼有控制器和webapi控制器

但是我不確定在設計中是否還必須擁有普通的MVC控制器。

enter image description here

如果你在設計和建築經驗,可以請你分享你對這個想法?你認爲這個圖是正確的,或者我應該如何改進?

+0

好吧,你使用MVC嗎?此外,ASP.NET 5將控制器合併爲一個 – Jonesopolis

+0

是的,我正在使用MVC,但我不打算在此項目中使用asp.net 5, –

+0

如果您正在構建網站(ASP。 NET MVC)碰巧也有服務(API)或純API。如果API是這種情況,那麼您只需要從WebApiController繼承的控制器。 – jpgrassi

回答

3

你可以按照這個方法:

  • 領域層(與您的實體,服務域和接口)
  • 庫層(數據訪問類)
  • 服務層(網絡API項目以顯示你的數據和消耗)
  • 應用層(你把ViewModel放在哪裏,這樣你可以在服務層(Api)和Web層(MVC)之間共享,以及像automapper這樣的其他東西)
  • 演示層(你的MVC項目)

就像你說的,你的應用是小的,但你可以遵循一些原則DDD,始終創造更多的去耦應用,並且易於維護。

+0

你有這樣的設計圖嗎? –

+0

對不起@EstebanV,但你可以遵循DDD的原則,像這個圖像http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-75 -metablogapi/8750.image_5F00_thumb_5F00_2908B25B.png –

+0

@EstebanV我的回答解決了你對建築設計的懷疑嗎? –