2011-08-03 12 views
0

オブジェクトモデルと抽象構文木の違いは何ですか?概要構文木vsオブジェクトモデル

私はこれらの用語と混同しています。私はこれらについて知っていることは

  1. オブジェクトモデルは、オブジェクトの詳細と アプリケーションでそれらの関係を与えるされています。

  2. ASTはアプリケーションのプログラム要素の構造を与えます。

オブジェクトモデルから取得できるものは、ASTから取得できません。

ありがとうございました。

答えて

1

オブジェクトモデルとASTは、異なる抽象レベルで物を表現していますが、それぞれの図に線、ボックス、テキストが含まれていること以外はほとんど共通していません。

ASTのWikipedia exampleは、プログラミング言語の小さなスニペットの解析結果を表すツリーを表示します。

オブジェクトモデルは、様々なクラスのオブジェクトについて考えているオブジェクト指向設計の多くの記述の1つです。オブジェクトについて考えるとき、彼らが何をし、何を知っているのかを知りたい。したがって、顧客オブジェクトCと言えば、いくつかの注文CはO1とO2とそれらの注文によって参照されるいくつかの製品P1、P2、P3を配置しており、関係をダイアグラムで示し、特定のビジネスシナリオたとえば、O2が{P2とP3}の注文であるとすれば、注文の価格をどのように調整するか、P3の在庫がなくなったらどうするかを考えることができます。

1つのクラスであっても、ASTは非常に広範で、動作に関しては非常に理解しにくいです。私はあなたがASTからのビジネスシナリオについて理由を挙げることはできないと信じています。

+0

relpyありがとうございました...プロジェクトのASTはありますか、それとも1つのファイルに制限されていますか?オブジェクトモデルでは、アプリケーション全体の詳細がわかります。それはASTで利用可能ですか(たとえ私たちがオブジェクトの詳細を持っていなくても)... ASTはアプリケーション全体を表現できますか? – Sachin

+0

オブジェクトモデルのすべての情報が暗黙のうちに存在していると主張していると思いますので、巨大なツリー(または多分、森がいくつありますか?)を構築できないという本質的な理由はありません。 AST。私は問題が抽象化の喪失になると思います。あなたは「木の木を見る」ことができないでしょう。類推として、コンパイルされたマシンコードからのプログラム動作について、たとえ厳しいシンボルであっても、その理由を考えようとすることを検討してください。 – djna

関連する問題