模型应该通过ViewMediator与View通信.Vo (Model的一部分)可以直接通信吗?



我通常将VOs的引用保存在相关视图中。在相关视图中保留Vo引用,有助于对更改进行直接分配。我怀疑是否在视图中保留Vo引用,这是一件正确的事情,并且按照MVC的原则(我使用机器人腿)。因为根据mvc,模型应该通过视图中介与视图通信。Vos是与模型相关的东西。

那么什么是正确的方式。当View发生变化时,VOs应该如何更新?

如果你必须对MVC采用文字方式,ValueObjects应该是不可变的——值在被赋值后不会改变。如果您将VO视为数据的可变部分,那么它应该在模型中。但如果你使用它们作为值的引用,你可能需要把它们放在应用范围内可用的地方。如果需要是视图,那么你就把它放在那里。

基本上,看看你是如何使用它们的,以及它是如何应用于你正在做的事情的,然后确定一个适合你的方法。只要你始终如一,遵循"规则"真的不重要。此外,在我看来,它们只是指导方针。

最新更新