モジュールには結合と結合があります。わかった。機能的結束とコミュニケーション結束があります。機能的凝集とは、機能によってグループ化することです。わかった。通信の結束は、入出力データによるグループ化です..うーん..いいえ。通信の結束とは何かを説明したり、例を提供したりできますか (任意の言語ですが、Java が望ましい)。
3 に答える
まず、コミュニケーションの結束と呼ばれます。
次の説明が明確であることがわかりました。
通信結合モジュールとは、同じ入力データまたは出力データに対して複数の機能を実行するモジュールです。たとえば、渡されたフラグに基づいて、書誌レコードから本の著者、タイトル、または価格を取得します。(注: この例の関数は、互いに独立して実行できるため、柔軟性を高めるために分離する必要があります。通常、通信的にまとまったモジュールを機能的にまとまったモジュールに分離すると、保守性が向上します。)
他のタイプの結束との比較については、参照記事が非常に明確に見えます。
例が述べているように、コミュニケーション上の結束よりも機能的な結束 (または連続した結束) を優先することが重要です。
オブジェクト指向の設計ではポリモーフィズムが強調される傾向があるため、オブジェクト指向システムではコミュニケーションの結束はまれです。
これは私の解釈ですが、「通信のまとまり」とは、同じデータを扱うコードをまとめて、そのデータと一緒に配置することだと思います。「一緒に」とは、同じパッケージまたは JAR にあることを意味する場合があります。これは、主に保守性に利点があることを意味します。または、同じハードウェアまたは同じ LAN 上に存在することを意味する場合もあり、パフォーマンスとセキュリティ上の利点があります。
おそらく、通信の結束には、オープン標準のプロトコルとフォーマットの使用が含まれます。例: HTTP、JSON など。
ETA: ウィキペディアによると:
通信の結束とは、モジュールの一部が同じデータを操作するためにグループ化される場合です (たとえば、同じ情報のレコードを操作するモジュール)。