2014-03-29 166 views
1

對於我的應用程序,我使用了一個三層架構,一個服務/表示層,一個業務層和一個數據層。 現在我想使用web api(沒有MVC,只有控制器)。 然後,我想使用一個像服務一樣的控制器,並保留業務和數據層。 但是,通常控制器邏輯鏈接到html中的輸出和模型。 另一個解決方案可以使用控制器使用服務層來製作應用程序所需的內容。在這種情況下,控制器充當html上的模型和平板電腦或其他設備可以使用的服務之間的中介。三層體系結構和控制器

在這些情況下使用哪種軟件架構?

回答

1

三層。你只需要調整你對這意味着什麼的誤解。

您的Web API不是服務,它是一個UI層。它自然而然地完成了所有的用戶界面凝聚力 - 就像改變業務數據以滿足演示需求一樣。

UI是一個用戶界面 - 它不一定是圖形化的。對於WepApi,用戶是另一個使用它來提取數據的程序。當然WebApi會做很多事情,你需要在任何前端用戶和輸入環境中進行改造,根據預置的確切需要進行轉換等。它是前端,預置和應用程序信任的結束boudary(永遠不要相信你通過WebApi獲得的輸入) - 只有另一個程序使用它而不是一個人。