Actionscript 3 模型应通过ViewMediator与视图通信。Vo(模型的一部分)可以直接通信吗

Actionscript 3 模型应通过ViewMediator与视图通信。Vo(模型的一部分)可以直接通信吗,actionscript-3,model-view-controller,Actionscript 3,Model View Controller,我通常将VOs的引用保存在相关视图中。将Vo引用保留在相关视图中,有助于直接指定更改。我怀疑将Vo引用保持在视图内部是否正确,是否符合MVC的原则(我使用机器人腿)。因为根据mvc,模型应该通过视图中介器与视图通信。VO与模型有关 那么什么是正确的方法呢。当视图发生变化时,VO应该如何更新?如果必须采用文字方法来处理MVC,ValueObject应该是不可变的-赋值后值不会改变。如果将VO视为数据的可变部分,那么它应该在模型中。但如果您将它们用作值的引用,则可能需要将它们保存在应用程序范围内的某

我通常将VOs的引用保存在相关视图中。将Vo引用保留在相关视图中,有助于直接指定更改。我怀疑将Vo引用保持在视图内部是否正确,是否符合MVC的原则(我使用机器人腿)。因为根据mvc,模型应该通过视图中介器与视图通信。VO与模型有关


那么什么是正确的方法呢。当视图发生变化时,VO应该如何更新?

如果必须采用文字方法来处理MVC,ValueObject应该是不可变的-赋值后值不会改变。如果将VO视为数据的可变部分,那么它应该在模型中。但如果您将它们用作值的引用,则可能需要将它们保存在应用程序范围内的某个可用位置。如果需要这样的视图,那么就把它放在那里


基本上,看看你是如何使用它们的,它是如何应用到你正在做的事情中的,并确定一种适合你的方法。只要你是始终如一的,它是否遵循“规则”就不重要了。此外,就我而言,它们只是指导方针。

amm。。我无法理解这一点。“ValueObjects应该是不可变的”。那么,它们为什么会代表“视图”不断变化的值呢。假设我有一个包含100个值的列表框。选择的指数是5。“Vo”保存所选索引。当在列表框中选择一个新项目时,它必须相应地更改Vo中相应的变量。对吗?在这种情况下,它很容易成为一个模型属性-selectedIndex。VO更像是货币汇率或日期范围——看一看,但在C#示例中,他们提到C#VO是可变的——因此,正如我之前所说的,再次将这一切作为指导原则,不要将其视为实现应用程序的唯一方法。坚持做一件事,并用它达到最佳效果。如果您需要可变的VO-使其可变。