gpt4 book ai didi

java - 在节点之间传递数据。如何保持它们清洁?

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:00 26 4
gpt4 key购买 nike

我的应用程序“节点”被组织为具有父级和子级的树结构:

 A---------B---------C---------D---------E
\---------F

A 是顶层祖先,而 E 和 F 是底层后代。执行流程是从上升侧到下降侧。

每个节点都接受它们需要处理的某些类型的数据。所以在设计决策中,节点可以接收的数据是相互隔离的。

现在出现一个问题,假设节点E和F需要某种类型的数据,但它只在C节点可用。因此,我需要一种机制来将数据从 C 节点一直传输到 E 和 F 节点。

解决方案1:允许后代节点访问其祖先节点的数据。所以我可以将该数据添加到 C 节点,并从 E 和 F 节点中取出它。我不喜欢这个解决方案的是,所有中间节点(包括 C 和 D)将包含一些它们实际上不需要的数据。对我来说,这听起来像是 future 管理应用程序的一个问题。

解决方案二:引入一个临时存储类,可以在C中使用它来存储数据,并从E和F节点中读取(将数据带到需要的地方)。对我来说,这个解决方案听起来有点不干净,并且增加了应用程序的复杂性。

那么如果你是我,你会选择哪种解决方案,还是我看不到的不同解决方案?

由于我是软件设计的新手,非常欢迎您的任何评论、建议。

谢谢。

最佳答案

节点应该彼此独立,并且不应该知道节点的顺序和布局。

连接节点的类应该具有在节点之间传播数据的知识。所以更好的选择是引入 DataConnector一旦 C 完成其处理,CtoEDataConnector 将收到通知。一旦收到通知,它将访问 C 的数据容器并提取数据,并将数据填充到节点 E。

这意味着,应该在节点相互连接时添加 DataConnector。

关于java - 在节点之间传递数据。如何保持它们清洁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39868339/

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