gpt4 book ai didi

c# - 如何同步三个类(class)?

转载 作者:行者123 更新时间:2023-11-30 14:42:49 25 4
gpt4 key购买 nike

class Foo
{
Bar b;
List<Foo> Neighbours;
}

class Bar
{
Spam s;
List<Bar> Neighbours;
}

class Spam
{
List<string> Neighbours;
}

这些类中的每一个都有 AddNeighbourRemoveNeighbour 方法。

用户可以随机添加/删除任何类(class)的邻居。

我希望这三个对象同步

我该怎么做?

最佳答案

选项一 - 在更新时让 Foo 调用 Bar,而 Bar 调用 Spam。这将导致紧密耦合的对象,您可能还需要让 Spam 回调到 Bar,后者回调到 Foo 以在另一个方向同步,yuk。

选项二 - 有一个类可以观察三个对象中的每一个对象,并在一个对象发生变化时更新其他对象。 (外部同步器)

选项三 - 修改设计并将数据存储在一个类中,并实现三个接口(interface)以 List 、List 或 List 形式返回数据。这样您就可以选择将数据存储一次(并根据要求进行转换)或更轻松地使对象的三个内部列表保持同步。

选项四 - 有一个更新的公共(public)数据模型,每个对象观察它并从数据模型同步它自己的内部列表

编辑 - 根据您的评论,这是针对三个图表的,观察者模式可能是执行此操作的最佳方式。有一个单一的通用数据模型,每个模型都在观察并适应其服务的图形所需的特定类型。

关于c# - 如何同步三个类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2808795/

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