簡體   English   中英

MVC應用程序結構

[英]MVC Application Structure

因此,我是MVC的新手,並且在SO和一些博客上閱讀了大約幾十個類似的問題。 我不能理解如何構造我的應用程序。 要么我沒有得到它,要么人們似乎對該方法有不同的看法。 因此,這是我具體的簡單示例:登錄屏幕和帳戶創建屏幕。

據我了解,我應該具備以下條件:

在這種情況下,簡單視圖有兩個視圖

模型兩個視圖模型。 登錄名包含用戶名和密碼。 注冊具有用戶名,密碼,電子郵件等。僅屬性沒有方法。

控制器通過調用諸如CreateUser()之類的服務層構建視圖模型

業務/服務獨立項目。 具有與數據庫交互和應用業務邏輯的方法。 由控制器調用,該控制器將輸出按摩成視圖模型格式。 該項目具有自己的模型/類,而沒有與特定視圖綁定。 此層中的CreateUser()將在數據庫上調用存儲過程

那是正確的流程嗎? 而且,當從業務層返回數據時,我不應該使用視圖模型。 那么,我是否要在業務端創建另一組類似於數據庫中邏輯實體的模型?

聽起來很合理。 關於分離模型和視圖模型的要點是一般性建議,以避免服務層和UI之間的緊密耦合。 這意味着即使多個應用程序的UI屏幕不同,它們也可以使用這些服務。 但是,我確實認為,在某些情況下,如果視圖模型成為模型的鏡像,則可以跳過它們。 我只傾向於創建視圖模型,如果它們在為視圖准備數據(格式等)時增加了某種價值。

但是,有些人可能聲稱您應該始終創建視圖模型-即使是那些反映模型的視圖模型。 我也可以理解該參數,因為它與避免UI和服務之間的耦合有關,這使您可以在不更改UI鏈的情況下演化服務。 您必須對這對您有多重要進行判斷,因為這是以在相同對象之間“傳遞”值的層為代價的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM