Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6775551
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T15:55:12+00:00 2026-05-26T15:55:12+00:00

I’m used to working in WPF with the MVVM design pattern, but I’ve recently

  • 0

I’m used to working in WPF with the MVVM design pattern, but I’ve recently been asked to do something in ASP.Net. I’d like to try using MVC because I saw it referenced a lot when learning MVVM, however I don’t know anything about it.

I can find plenty of sites that are meant to explain MVVM to someone who is familiar with MVC, however I cannot find a good one that explains MVC to someone who is used to MVVM. There are sites that explain MVC on it’s own, but I’m having a hard time understanding them because my mind keeps trying to apply MVVM logic.

So, are there any good sites that can explain MVC in terms that someone used to MVVM can understand? Or can someone explain it to me here?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T15:55:12+00:00Added an answer on May 26, 2026 at 3:55 pm

    When you come from MVVM pattern and start with MVC pattern (especially ASP.NET MVC) I would suggest to think of the “MVC” pattern better as the “VMVC” because the “M” in MVC is not the Model meant by the “M” in MVVM. It actually corresponds to the ViewModel. I don’t know if that represents the general definition of MVC but it is true and the most used and best practice when you work with ASP.NET MVC (although you see every now and then examples or questions here on SO where domain entities are used in a view (which is sometimes exactly the reason for the problem described in the question)).

    The first thing I usually do when I create a ASP.NET MVC project from one of the Visual Studio templates is to rename the created folder “Model” into “ViewModel”. If you take a look what the template code does with those “Models” you see that they are directly used for the views, that they have data annotations for input validation, for display formats and perhaps field naming on the view. These annotations are partially used directly by the HTML helpers to produce the HTML and don’t represent domain or business logic. In other words: they are ViewModels for an Razor/HTML view in the same sense as you use ViewModels in MVVM for your XAML views in WPF/Silverlight/Phone7.

    The domain “Model” is actually not part of the MVC pattern as it is a part in the MVVM pattern. So, the abbreviations are somewhat misleading when you compare MVVM with MVC. As a very simplified “translation table” one could say:

    MVVM                         MVC
    ----                         ---
    M  -> Domain Model           not part of the pattern
    V  -> View (XAML)            V -> View (HTML, Razor)
    VM -> ViewModel              M -> ViewModel
    not part of the pattern      C -> Controller
    

    I’m not sure about the corresponding thing of a controller in MVVM. In MVC the controller is usually the module which translates domain objects into ViewModels and then into views (and vice versa) – schematically:

    ControllerActionForGetRequest ( params )
    {
         objects = GetDomainObject(params)    - entities, queryables or DTOs
         viewModel = CreateViewModelFromDomainObjects(objects)
         view = CreateViewFromViewModel(viewModel)
    }
    
    ControllerActionForPostRequest ( viewModel )
        // ModelBinder makes "viewModel" from HTML input fields, etc
    {
         if (IsValid(viewModel))
         {
             data = CreateDomainObjectsOrDtosFromViewModel(viewModel)
             WriteData(data)  - back to data store
             RedirectToActionForGetRequest
         }
         else
             GoBackToView
    }
    

    Which part in MVVM has this responsibility? I am not sure. I have seen designs where the ViewModel holds some reference to a repository, pulls out the Model (Domain Model) to fill its own properties and writes back into the repository through ICommand handlers. That would mean that ViewModels in MVVM also have the responsibility to be a “controller” while ViewModels in MVC are much simpler: They are more or less only property bags with metadata to provide and format data for a view.

    As a final note: Personally I found the MVVM pattern with WPF much more difficult to master than the MVC pattern. ASP.NET MVC is designed from the ground to support MVC pattern-friendly development and there is not need (or even not the possibilty) to leave this way. This is not the case for WPF. The original design was built with views and code-behind files in mind, not with the MVVM pattern. I found often situations where it was very difficult to bind view elements or attributes to a ViewModel and handling this in code-behing files was much easier, thereby violating MVVM principles a bit.

    I would think that you won’t have any problems to get into MVC when you have experience with the MVVM pattern.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I used javascript for loading a picture on my website depending on which small
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want to count how many characters a certain string has in PHP, but
I would like to count the length of a string with PHP. The string
For some reason, after submitting a string like this Jack’s Spindle from a text
I have a jquery bug and I've been looking for hours now, I can't
I've got a string that has curly quotes in it. I'd like to replace
Seemingly simple, but I cannot find anything relevant on the web. What is the
I have a French site that I want to parse, but am running into

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.