【发布时间】:2011-10-18 23:27:27
【问题描述】:
我有一个恼人的组件之间的依赖问题,我想听听几种方法来解决它。
基本上,除了第一个和最后一个组件之间的小依赖之外,我有 3 个组件几乎彼此非循环地依赖。具体来说,这是一个 JIT 编译器,但希望它是一种广泛存在的抽象依赖类型,可能在其他情况下发生。
组件基本上是按流依赖顺序排列的;源代码/AST 生成、代码生成和运行时。从图中可以清楚地看出,运行时生成的错误应该能够传达可以与源位置项相关联的 Id。棘手的部分是这个 Id 不一定是整数类型(尽管它可以是)。到目前为止,SourceItemID 是 Source 组件的内部类型,但现在似乎需要在其外部定义它。
在这里使用的最佳模式是什么?我正在考虑使用所需的源位置 id 来模板化运行时错误类型。
【问题讨论】:
标签: c++ architecture dependencies