2

我对 MVVM 的调查不到一个月。我还尝试了一个 Mvvm 框架(来自 Laurent Bugnion 的 Mvvmlight。太棒了)。

但是我正在考虑自己做所有这些事情,这意味着我想从头开始构建我的项目遵循 mvvm 理念(不要使用任何可用的 mvvm 框架)。我想让它尽可能简单,但仍然有足够的功能并严格遵循 mvvm 哲学。这就是为什么我需要你的建议来帮助我认识到我需要什么、我面临什么以及需要多长时间?

在几乎 Mvvm 框架中,我发现它们支持以下内容:

  • 构建一个 ViewModelBase:应该为 INotifyPropertyChanged 实现,INotifyPropertyChanging -> 支持绑定属性
  • RelayCommand(在 Prism 中是 DelegateCommand):为 ICommand 实现
  • 信使类

做一个 Mvvm 项目就够了吗?

我知道 Mvvm 是一个模型,所以有多种实现方式。但是像我这样的新手。很难知道我应该从哪里开始。对于一个长篇大论但不清楚的问题,我很抱歉。只是我试图展示我目前的情况,并向大家征求意见。

感谢您的阅读,新年快乐!!!

4

2 回答 2

1

对于简单的 MVVM 项目,以下就足够
了 1. RelayCommand :用于自定义命令
2. Messenger(或 EventAggregator 或 MessageBus):用于视图模型之间的通信
3. ViewModelBase :ViewModels 的基类。也可以用作模型的基类(但对于那个单独的基类)

对于较大的应用程序,还需要布局支持。这是由 Prism Regions 概念提供的。

除此之外,你很高兴。

但是,我建议使用现有的 MVVM 框架。看看这个常用的 MVVM 框架。它们是久经考验的框架(并且是免费的)。构建SOLID框架需要大量的测试工作。

我不会说构建一个框架是很大的努力,但不管它是什么,它都是完全不必要的(直到商业/工作环境非常严格并且不允许这样做)。

于 2012-12-28T04:39:35.973 回答
0

我认为在不使用任何外部 MVVM 框架的情况下自己实现 MVVM 设计模式很重要(至少是第一次)。它将迫使您看到并理解“水下石头”以及解决问题的不同方法和解决方案。

于 2012-12-28T05:33:04.970 回答