c++ - 循环依赖测试

标签 c++ circular-dependency

我必须找到并解决一个包含循环依赖的问题,我要么在相关对象之间存储不透明指针,要么在更高级别上使用单独的类来实现对象之间的关系。

所以我想到了一个简单的问题,我有两个类,bank 和 account 应该做。银行包含一个账户列表,账户包含一个指向其银行的指针。实现循环依赖。

但是我必须满足另一个条件,即我必须确保类和它们之间的关系可以独立于彼此进行测试。

Bank 类使用在帐户上执行操作的函数,例如在帐户之间转账、提取或添加资金。并且该帐户包含编辑其变量的类似功能。

测试帐户类很容易,只需实例化类并测试函数即可,但是如何测试依赖于另一个独立于依赖项的类的类? 以及如何测试两个类之间的关系?

我很难找到关于循环依赖的信息,除了你应该避免它们之外,但在更大的项目中,它们很难避免。

最佳答案

重要的问题是为什么账户需要知道哪个银行拥有它?很难想象在需要这些信息的账户上进行的操作作为涉及银行的操作会更好。例如,将资金从一个账户转移到另一个账户通常会涉及银行 A 从账户 AA 中取出资金,将其交给银行 B,然后再添加到账户 BB。

也许您需要消除依赖性,然后找出没有它什么是“不可能”的,并重新考虑您尝试做的事情,并可能根据银行用账户做某事而不是账户对银行做某事来 reshape 它.

关于c++ - 循环依赖测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12008153/

相关文章:

c++ - 给定复制构造的要求,如何在 C++11 中编写有状态分配器?

c++ - 我的 MakeFile 找不到我的头目录

c++ - 子类中使用的指针不完整 - 错误 : use of undefined type

iphone - 寻找循环引用

java - 当您想要删除重复代码时,如何解决项目的循环依赖?

gradle - Gradle文件重命名导致循环依赖项错误-为什么?

c++ - 在 C++ 中使自己的宏先于库宏

c++ - Boost::Signals 的意义何在?

c++ - 用 C++ 求解模方程组

flutter - Dart - 循环导入