【发布时间】:2020-08-13 18:03:00
【问题描述】:
在我们的项目 (C++14) 中,我们通过系统的功能分解将软件分成几个组件。每个模块都驻留在自己的命名空间中,嵌入在系统的公共命名空间中。我们使用 CMake 作为我们的构建系统,每个组件都是一个静态库,可以单独构建并在最后链接在一起。
现在,在许多组件中定义了特定的数据类型,例如类或结构。对于时间,要一起处理的数据字段的集合等等。这些数据结构在创建它们包含的数据的组件中本地定义。
但是。当我现在必须从其他组件访问这些数据结构之一时,我必须包含来自特定组件的标头并在这两个组件之间具有依赖关系。由于这是一种常见的方法,我们的软件组件之间有许多依赖关系,很容易导致循环依赖关系。 :(
在 C 世界中,我会创建一个 GlobalDataStructures.h 并添加在整个软件系统中使用的所有数据结构。
对此的(现代)C++ 方法是什么? 什么是最佳做法?
【问题讨论】:
标签: c++ architecture dependencies