簡體   English   中英

我需要多少個視圖,視圖模型和模型?

[英]How many views, viewmodels and models do I need?

我正在嘗試使用MVVM模式開發WPF應用程序-實際上它是一個工具。 我已經閱讀了幾篇文章,觀看了視頻,發表了問題,但以某種方式我覺得我對MVVM的理解或理解不是“正確的選擇”。

我將從用戶界面開始。 在第一階段,UI將顯示以下內容:

  • 組合箱
    • 用戶名的文本框
    • 密碼的文本框(開始時忽略PasswordBox
  • 組合箱
    • 此用戶可用的項目名稱列表的組合框(將從Web服務中檢索)
    • 按鈕“登錄”,用於登錄到所選項目
    • 按鈕“注銷”,用於從當前項目中注銷

因此,我將確定以下需要處理的數據:

  • 用戶名的字符串
  • 密碼字符串
  • ObservableCollection<Project>用於項目列表
  • 代表活動項目的Project對象
  • boolean是否登錄到項目)

我很擔心,我不知道如何在MVVM之后構建或設計此文件。 我應該在這里使用多少個視圖,視圖模型和模型? 當然,應用程序將增長,但增長不會那么快。 讓我們堅持以上。

沒有正確或錯誤的答案

將視圖,視圖模型和模型視為截止點。 它們使您可以模塊化應用程序,而不是采用不可重復使用的整體方法。

通常,視圖的ViewModels為1:M,但現實情況是,大多數情況下它們是1:1的關系。 ViewModel和View是大量工作所在,而Model只是充當POCO,POCO實現了INotifyPropertyChanged來滿足綁定需求。

在您的示例中,我將根據需要使用由單個ViewModel和多個Model支持的單個View(項目,UserCredentials等)。 您可能擁有執行實際登錄工作的服務,但是您可以在ViewModel中執行該工作。

在純MVVM實現中,每個視圖都應具有一個viewModel。 在現實生活中,可能有點不同...

查看PRISM 模塊化應用程序開發中的關鍵決策。

此外, 文章解釋了它相當不錯

祝好運

暫無
暫無

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

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