【问题标题】:Is cyclical referencing bad practice?周期性引用是不好的做法吗?
【发布时间】:2013-10-31 05:11:26
【问题描述】:

假设我有三个类:EntityManagerEntityComponent

Entity 有一个组件数组(指针),每个组件都有一个字段,该字段是指向封装实体的指针。

EntityManager有一个实体数组,每个实体都有一个指向其封装的EntityManager的指针。

这种设计的原因是数据依赖。 组件需要访问封装实体的字段,一些组件依赖于其他实体的字段(指向实体管理器的指针)。

这种“循环”设计是一种不好的做法吗?我应该重新考虑我的设计吗?

【问题讨论】:

  • 这不一定是“糟糕的做法”或“糟糕的设计”。关键是要获得正确的指针所有权/引用。
  • 我认为这没有问题。我建议您将添加/删除引用的逻辑放在同一个地方。您不希望最终得到一个实体,该实体是经理,但经理没有该实体。

标签: c++ entity-framework cyclic-reference


【解决方案1】:

任何周期性的东西只有在资源共享/锁定资源方面是不好的,特别是在多线程方面。

此外,它甚至看起来都不是周期性的。它更多的是并行设计,当然,要获取 EntityManager 字段,组件必须通过实体。或者,要获得一个组件,一个 EntityManager 必须通过一个实体。

在设计方面,如果您需要更改实体或组件所依赖的 EntityManager 的字段,我会担心会发生什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    相关资源
    最近更新 更多