c# - MVVM 获取/设置与 OOP

标签 c# wpf oop design-patterns mvvm

通过大量学习 MVVM 模式,我发现它非常有用,可以解决我们每天遇到的许多问题。

但我不明白它与 OOP 的关系如何。 OOP 总是要求我们被封装,关心字段的隐藏(首先在构造函数中初始化它们,并且没有进一步访问来设置它们)但是如果我们定义几乎每个模型类都带有 getter/setter 属性,它就违反了 OOP 的规则。 那么它是如何进行的呢?在真正的 MVVM 应用程序中定义许多 get/set 类是否可以?

谢谢, 雅各布

最佳答案

您好,我不认为它打破了 OOP 概念。我们通过公共(public)属性公开数据成员。所以数据隐藏在那里,类的用户不知道设置哪个属性将在幕后更改哪些数据。在属性的 setter 中,我们可以有验证逻辑和任何可以改变类状态的负责方法/属性链。因此存在封装和数据隐藏。

谢谢

关于c# - MVVM 获取/设置与 OOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18569450/

相关文章:

c# - wpf如何从嵌套 View 切换父选项卡

c# - 使用 BackgroundWorker 更新 C# Chart

php - PHP OOP中依赖注入(inject)、类型提示和组合的区别

java初始化对象数组

c# - 如何知道 pdb 文件在哪里寻找源代码

c# - 当存在内部异常时,是否有理由保留外部异常?

wpf - 更改边框画笔 WPF

c# - 删除菜单项周围的细边框

c# - 使用 Linq to sql 概念的 wpf 更新记录中的问题

c++ - 如何在导入另一个库的库中修复 "invalid use of non-static member function"