1

私は現在、非常に興味深いデザイン パターンを使用する継承されたコードを使用しています。

コードはいくつかのオブジェクトに分割されています。オブジェクトは C コードなので、オブジェクトという用語が当てはまるかどうかはわかりませんが、それは最良の例えです。各オブジェクトには、オブジェクト固有のデータ、スレッド、およびメッセージ キューがあります。すべてのオブジェクトは、主に事前定義されたメッセージを互いのキューに配置することによって通信します。主なアイデアは、各オブジェクトのデータが 1 つのスレッドによってのみアクセスされるということです。いくつかの調査を行った後、いくつかの産業オートメーション アプリケーションがこの方法で記述されていることを発見しました (つまり、ProfiNET スタックといくつかの EIP 実装)。

このパターンに名前があるのか​​、それとも文献のどこかに記述されているのか知っていますか? Schidt、Stal などによる「パターン指向のソフトウェア アーキテクチャ」の本では、それについて言及されていません。

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

4

3 に答える 3

2

これはActor モデルに多少関連しているように聞こえます。

于 2012-07-07T23:13:13.043 に答える
0

それは私かもしれませんが、あなたが説明したもので使用される相互排除と組み合わせた生産者消費者以外の他のパタ​​ーンはありますか?

于 2012-07-07T23:06:03.280 に答える
0

Communicating Sequential Processs (CSP)を確認してください。

CSP では、独立して動作し、メッセージ パッシング通信のみを介して相互に対話するコンポーネント プロセスの観点からシステムを記述できます。

これは、 Go 言語がgoroutine 間の通信(並行性)のために基づいているコア設計概念の 1 つです。

于 2012-07-07T23:11:03.260 に答える