抽象语法树vs对象模型

时间:2011-08-03 15:02:40

标签: abstract-syntax-tree object-model

对象模型和抽象语法树之间有什么区别?

我对这些条款感到困惑。我对这些的了解是

  1. 对象模型提供对象及其关系的详细信息 应用

  2. AST将给出应用程序的程序元素的结构。

  3. 我们可以从不能从AST获得的对象模型中获得什么?

    先谢谢。

1 个答案:

答案 0 :(得分:1)

对象模型和AST表示不同抽象层次的事物,它们除了每个图表之外几乎没有共同之处可能包含行,框和文本。

AST的Wikipedia example显示了表示解析编程语言小片段的结果的树。

对象模型是OO设计的众多描述之一,我们正在考虑各种类的对象。当我们考虑对象时,我们想要了解它们的作用以及它们“知道”的内容。因此,如果我们有一个客户对象C,一些订单C放置了O1和O2以及这些订单引用的一些产品P1,P2,P3,我们可以绘制关系图,并开始推断特定业务场景中可能发生的情况 - 例如,假设O2是{P2和P3}的订单,我们可以考虑如何计算订单的价格,或者如果我们缺少P3的话,我们可以做些什么。

即使是单个班级的AST也会非常广泛,并且在行为方面很难理解。我不相信你能从AST中推断出这些业务场景。