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

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック



