MVVM 框架的作用是啥? [复制]
Posted
技术标签:
【中文标题】MVVM 框架的作用是啥? [复制]【英文标题】:What is the role of an MVVM Framework? [duplicate]MVVM 框架的作用是什么? [复制] 【发布时间】:2014-09-05 21:10:19 【问题描述】:我是一名 C# WinForms 开发人员,希望使用 MVVM 模式迁移到 WPF。我看到很多比较各种框架的问题,但它们的作用是什么?为什么我需要一个?
编辑:这不是链接问题的重复。这个问题涉及诸如 PRISM 之类的框架,而不是 MVVM 本身。
【问题讨论】:
我真诚地怀疑这是该问题的重复。 同意。我正在删除它... 太宽泛了,我猜。 鉴于我是这个领域的新手,并且找不到相关的问题,这不是 SO 的重点吗? 我个人认为这是一个相关的问题(因此回答它)。可能只是人们觉得你还没有完成研究(另一个反对票的原因)。 【参考方案1】:各种框架使 MVVM 的实现更容易,因为您需要一些样板代码,重复编写可能会很乏味。
话虽如此,您绝对不需要需要一个。您可以自己实现 MVVM,它会工作得很好(甚至没有那么难)。事实上,你可能应该至少自己实现一次,这样你就知道框架为你做了什么,但这只是我的意见。
【讨论】:
那么它自动化了多少工作?我在问,因为我的开发团队目前正在讨论使用一个。 @Gyrien 我不能说太多,因为我几乎总是自己滚动(它真的并不难)。它可能会节省一些在 NotifyPropertyChanged 片段上的输入,并且可能会在模型和数据对象的视图模型之间进行一些自动映射。不过,所有这些功能都可以用其他工具/库复制。我肯定会在没有框架的情况下开始,如果你真的觉得它有帮助,以后再添加一个(可能在对你正在考虑的框架进行更多研究之后)。【参考方案2】:如果您来自 WinForm 背景,您可能习惯于所有东西都采用“代码隐藏”的开发风格 - 应用程序的行为在 UI 的事件处理程序中调用。
如果是这种情况,您的代码库可能变得非常复杂并且难以日常维护和使用。这是 MVVM 或更一般地 MVC 试图通过分离模型、视图和控制器(MVVM 中的视图模型)的关注点来解决的问题之一。
我建议您在尝试解决 MVVM 的实现细节之前阅读 MVC、MVVM 和关注点分离的原则。
【讨论】:
以上是关于MVVM 框架的作用是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章