私は非常に一般的な質問があります。私はOSIの2つの層で2つのモジュール間で通信しようとしています(トランスポート層はクラスAで実装され、クラスBではネットワーク層が実装されているとします)。私が理解していることは、クラスAはクラスBを単に使用して、データペイロードをさらに下位レイヤに転送するメソッドを呼び出すことができるということです。したがって、クラスAはクラスBの知識を持ちますが、その逆もありません。C++モジュール間のデータ転送
質問は、クラスBが下位レイヤーからデータを受け取ったとき、クラスAについてわからないので、データがクラスA(上位レイヤー)にどのように転送されるのですか?そのような機能はどのようにC++で実装されていますか?この種の仕事を学ぶ上で重要な話題は何ですか?
これは抽象的な質問です。このような性質のルールはC++では存在しません。このようなアプリケーションを設計するときは、すべてのルールを定義して実装するのはあなた次第です。 –
オブジェクトAはデータのために*オブジェクトBをポーリングできます。または、Bがデータを受け取った後に呼び出す*コールバック*を設定します。または何か完全に。この質問は*多くの答えを持つことができ、広範囲に及ぶものです。 –
私はそれがまたあなたが持っているハードウェアの公正なビットに依存すると思います。これがマイクロコントローラやDSPのような高速システムであれば、速度を上げるためにOODを犠牲にしなければならないかもしれません。システムがPCのような遅いものなら、あなたはいつも世界にいる。 – Lundin