2016-03-08 29 views
0

我最近開始學習Windows生態系統(C#,.NET,WPF和XAML),並且如預期的那樣是一個完全不同的世界。我想從一開始就開始做的一件事是創建我的應用程序,遵循MVVM模式,因爲它似乎是WPF應用程序的標準;我一直在爲初學者尋找好的教程,到目前爲止我還沒有找到一步一步展示如何實現MVVM。在Windows Presentation Foundation中使用MVC代替MVVM

我已經做了一些iOS編程,所以我習慣了MVC模式,我想知道是否有必要遵循WPF應用程序的相同設計模式。

這就是我想要構建我的代碼後MVC模式。

Model - Data Classes 
View - MainWindow.xaml 
Controller - MainWindow.xaml.cs 

你們看到上述文件結構有問題嗎?

使用MVVM的主要好處是什麼?我對數據綁定有點困惑,它似乎對WPF中的MVVM模式非常緊張。

感謝

+0

[MVC和MVVM有什麼不同?](http://stackoverflow.com/questions/667781/what-is-the-difference-between-mvc-and-mvvm) –

+1

Mainwindow.xaml和MainWindow。xaml.cs是同一個類,所以你確實有一個Model和一個View。這是MFC中的Document/DocumentView。堅持MVVM。你管MVVM教程。 – M312V

回答

1

我會用一個MainView.cs爲查看調用方法裏面MainWindow.xaml.cs也使用MainController.cs和使用MainWindow.xaml.cs調用MainController.cs類中的方法。當通過使用IController和IView(接口)從View和Controller中分離MainWindow時,您可以更輕鬆地移植它。所以:

MainWindow.xaml只是佈局文件。

接口:

  • IVIEW
  • 一個IController

類:

  • MainWindow.xaml.cs使用IVIEW
  • MainController.cs使用一個IController
  • 個MainView.cs使用IVIEW
  • Model.cs

用法: 如果例如單擊一個按鈕MainWindow.xaml.cs從MainController調用方法。 如果你想更新,例如您調用MainView調用MainWindow.xaml.cs的textview。 如果您然後端口到例如Android必須創建一個使用IView的新類,而不是MainWindow.xaml.cs,用於更新textview。你也可以使用這個新類來調用MainController中的Methods。

編輯:因爲我使用另一個控制器類,所以你只propably必須使用一些的iView接口的TCP連接只需要在我的特殊情況

一個IController。

+1

非常感謝您的建議。 –

相關問題