コンセプト
高凝集性と低結合性はソフトウェア エンジニアリングの概念であり、ソフトウェア設計の品質を判断するための基準です。プログラムのオブジェクト指向設計は、主にクラスの凝集度が高いか、結合度が低いかによって決まります。
目的
プログラム モジュールの再利用性と移植性を大幅に強化すること。
一般に、プログラム構造内の各モジュールの凝集度が高くなるほど、モジュール間の結合度は低くなります。凝集度は、機能的な観点からモジュール内の接続を測定します。優れた凝集性モジュールは、正確に 1 つのことを行う必要があり、モジュール内の機能的な接続を記述します。結合とは、ソフトウェア構造内のモジュール間の相互接続の一種です。測定的には、モジュールの強度結合は、モジュール間のインターフェイスの複雑さ、モジュールに入るまたはアクセスされるポイント、インターフェイスを通過するデータによって異なります。
(ビデオ チュートリアルの推奨: java ビデオ チュートリアル)
カップリングを減らす方法
1. 使用するクラスの数を減らします。多目的インターフェイスは実装の詳細を隠します。 Java オブジェクト指向プログラミングでは、ポリモーフィズムのサポートに加えて、実装の詳細を隠すためのインターフェイスが導入されています。
2. モジュールの機能分割はできるだけシンプルにする必要がありますが、その理由も非常に単純で、単一関数のモジュールは他のモジュールから呼び出される機会が少なくなるからです。 (実際、これは高凝集性を表す言い方です。一般に、高凝集性と低結合性は同時に現れます)。
3. 定義に従い、1 か所のみに表示されます。
4. グローバル変数の使用を減らします。
5. クラスの属性とメソッドを宣言するときは、パブリック キーワードを減らし、プライベート キーワードを多く使用します。
6. 多目的デザイン パターン: たとえば、MVC デザイン パターンを使用すると、インターフェイスとビジネス ロジックの間の結合を減らすことができます。
7. 「ハードコードされた」方法でプログラムを作成しないようにし、SQL ステートメントを直接使用してデータベースを操作することも避けてください。
8. 最後に、もちろん、他のモジュールやクラスを直接操作したり呼び出したりすること (コンテンツ結合) は避けてください。モジュール間に結合が存在する必要がある場合は、原則としてデータ結合を使用し、制御結合の使用を減らし、制御結合を制限するようにしてください。パブリック カップリングの範囲。コンテンツ カップリングの使用は避けてください。
凝集性を高める方法
1. モジュールは最小限のインターフェイスのみを外部に公開し、最小限の依存関係を形成します。
2. 外部インターフェイスが変更されていない限り、モジュール内の変更は他のモジュールに影響を与えてはなりません。
3. モジュールの削除は、依存関係のある他のモジュールにのみ影響を与える必要があり、他の無関係な部分には影響を与えるべきではありません。
推奨チュートリアル: java エントリー プログラム
以上が高凝集性と低結合性の概念を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。