software – How to manage views and logic in a Winform C # application?

I come from a webdev context, so I'm used to MVC to handle the separation between views and logic (and data / models).

I'm starting to develop with the help of Winforms in C # and I want to know what is commonly used to develop scalable and maintainable software.

For example, if I want to make a business management software, I would have views for

  • Customers
  • invoices
  • invoices
  • Sales
  • Stock
  • Appointment
  • The taxes


I've looked for and seen this answer that says you can use the MVVM model.

Is it common for software development (especially large projects)?

Is there another model or paradigm that I can learn to develop scalable software that is easy to maintain?