gpt4 book ai didi

.net - VMa <-Ma,VMb-> Ma…对…VMa <-VMb-> Ma

转载 作者:行者123 更新时间:2023-12-03 11:00:43 26 4
gpt4 key购买 nike

选项1:ViewModelA <-ModelA,ViewModelB-> ModelA
选项2:ViewModelA <-ViewModelB-> ModelA

* ModelA仅通过ViewModelB更改其属性,而仅更改,因此在Option2中,它无需实现任何机制即可通知viemodel中的任何人其已更改。
* Option2在两个 View 模型之间需要一个消息传递解决方案,而Option1则不需要。

Option1或Option2哪个更好?

编辑:
我选择实现Option2,因为我想让ModelA类保持简单的POCO。
我还将ViewModelB重命名为ModelViewB。

ASWER:
最终实现了。这里的诱惑是,我可以使ModelA简单(例如,不通知任何人)。但是最后,它使应用程序复杂化,因为它与其他类的实现有所不同。最好遵守并遵循一条规则(即使可能会有一些开销)。

Messenger类实际上是帮助程序类,而不是模式的核心组成部分,因此我使解决方案更接近模式(正如下面的人也提到的那样)。

最佳答案

我总是选择第一个。

该选项是遵循MVVM的一种,并且其产生的结构更简洁,更易于理解。

关于.net - VMa <-Ma,VMb-> Ma…对…VMa <-VMb-> Ma,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5297003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com