2012-06-25 98 views
13

私はWCFの本の中でこのラインに出くわした:コンポーネント指向言語とオブジェクト指向言語の違いは何ですか?

...と(たとえば、C++やVisual Basicなど)のCOMコンポーネントを記述するために使用されている言語は、最高のオブジェクト指向が、コンポーネント指向ないでいました。 ..

2つの違いは何ですか?

+1

良い質問です。私は著者に、おそらくここでこの質問に答えるように依頼するように電子メールを送るでしょう。 –

+0

私はめったに[Wikipedia](http://ja.wikipedia.org/wiki/Component-based_software_engineering#Differences_from_object-oriented_programming)にリンクしていますが、私がしたときには...もっと詳しい答えが必要ですか? ) – raina77ow

+2

COMについて語るとき、彼はCOMオブジェクトの作成/作成のための直接/組み込みサポートがないことを意味していたかもしれません。ちょっと違って見れば、実際には彼はそれが全く技術的な意味を持っておらず、単に「光る新」と「退屈な古い」を区別する方法を探していたので、合理的な響きのマーケティングフレーズ。 –

答えて

7

私の意見や理解はおそらく間違っていて、私はこれを書くために炎に撃つつもりです。

オブジェクト「私」は、問題のコンテキストに不可欠な主要なデータモデルを認識する方法、および問題のコンテキスト内でこれらのデータの状態を操作する対応する方法を意味します。これはデータを整理するためのパターンです。もう1つのパターンは、管理可能なレベル(手続き型)に細分化された機能に基づいて単純に構成されています。

コンポーネント指向のパターンは、さまざまなデータモデルをどのように整理するかについてはあまり気にしませんが、を結ぶ方法はです。それは彼らがお互いに話す方法です。それは、COM/RPC、Webサービス(REST/SOAP)など、多くの方法があります。それは、疎結合または密結合です。

そして、著者はちょうどそのCOM機能がビルトインそれにCOM施設を提供していない言語で構築された言おうとしている:)

私の理解では、文はtie-の選択肢として間違っているということですC/C++のような言語よりも高いレベルで抽象化されています。 COMは、コンポーネントを結合する方法の1つを提供するだけです。ここで

0

は私のテイクで、インタフェース対

継承は2

を議論するとき、私はまた、コンポーネントのデザインは、あなたがブラックボックスを扱っていることを意味していることだと思う多くのことを述べている話題のようです

コンポーネント設計は、単一のメモリ空間を超えるシステムもカバーしているようです。 Webサービスやその他のリモートサービスを呼び出します。

私はこれらが競合するパラダイムだとは言いませんが、異なるパラダイムです。

関連する問題