通过大量学习 MVVM 模式,我发现它非常有用,可以解决我们每天遇到的许多问题。
但我不明白它与 OOP 的关系如何。 OOP 总是要求我们被封装,关心字段的隐藏(首先在构造函数中初始化它们,并且没有进一步访问来设置它们)但是如果我们定义几乎每个模型类都带有 getter/setter 属性,它就违反了 OOP 的规则。 那么它是如何进行的呢?在真正的 MVVM 应用程序中定义许多 get/set 类是否可以?
谢谢, 雅各布
最佳答案
您好,我不认为它打破了 OOP 概念。我们通过公共(public)属性公开数据成员。所以数据隐藏在那里,类的用户不知道设置哪个属性将在幕后更改哪些数据。在属性的 setter 中,我们可以有验证逻辑和任何可以改变类状态的负责方法/属性链。因此存在封装和数据隐藏。
谢谢
关于c# - MVVM 获取/设置与 OOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18569450/