検索
ホームページよくある問題デザインパターンの6つの原則とは何ですか?

デザインパターンの6つの原則とは何ですか?

Feb 04, 2021 pm 05:15 PM
デザインパターン

デザイン パターンの 6 つの原則: 1. 統一原則、2. リヒター置換原則、3. 依存関係逆転原則、4. インターフェイス分離原則、5. ディミット原則、6. 開閉原則。

デザインパターンの6つの原則とは何ですか?

#この記事の動作環境: Windows 7 システム、Dell G3 コンピューター。

デザイン パターンの 6 つの原則:

1. 単一責任の原則: クラスまたはメソッドは 1 つの責任のみを負います。これは、変更を引き起こすクラスの動作上の理由の 1 つにすぎません;

a. ビジネス オブジェクト (BO ビジネス オブジェクト) とビジネス ロジック (BL ビジネス ロジック) を分割します;

2. Liskov置換原理 (LSP liskov 置換原理): サブクラスは親クラスの機能を拡張できますが、元の親クラスの機能を変更することはできません; (本質は実際には c の多態性です)

(目的: プログラムの堅牢性の向上) 実際のプロジェクトでは、各サブクラスは異なるビジネス上の意味に対応するため、親クラスは異なるビジネス ロジックを完成させるために異なるサブクラスを渡すためのパラメーターとして使用されます。

3. 依存性逆転の原則 (依存性逆転の原則): インターフェイス指向プログラミング; (パラメータとしてインターフェイスを介してアプリケーション シナリオを実装する)

抽象化はインターフェイスまたは抽象クラスです。 、詳細 実装クラスです

意味:

上位モジュールは下位モジュールに依存すべきではなく、両方ともその抽象化に依存する必要があります;

抽象化は依存すべきではありません詳細、および詳細は抽象化に依存する必要があります。

一般的なポイントは、変数またはパラメータには可能な限り抽象クラスまたはインターフェイスを使用することです。

#[インターフェイスはパブリック プロパティとメソッドの定義を担当します。 、他のオブジェクトとの依存関係を宣言し、抽象クラスはパブリック構造を担当します。部分的な実装、実装クラスはビジネス ロジックを正確に実装します]

4. インターフェイス分離原則 (インターフェイス分離原則):単一のインターフェースを確立します (クラスへの拡張もインターフェースであり、すべてがインターフェースです)

定義:

a. クライアントは、必要のないインターフェースに依存すべきではありません。

b. クラス間の依存関係は、最小のインターフェイスで確立する必要があります;

簡単な理解: 複雑なインターフェイスは、ビジネスに応じて複数の単純なインターフェイスに分割されます; (一部のビジネス分割については、アダプター アプリケーションを確認してください) )

[インターフェイスの設計粒度が小さいほど、システムの柔軟性が高まりますが、同時に柔軟性が高まると構造が複雑になり、開発の難易度も高くなります。


5. デメテルの法則 LOD): あまり知られていない原則、クラス間の結合を減らすようにしてください。

オブジェクトには、他のオブジェクトに関する最低限の知識

6. 開閉の原則

(オープンクローズの原則): 抽象化を使用してアーキテクチャを構築し、拡張原則を実装します。 # 関連する無料学習の推奨事項:

php プログラミング

(ビデオ)

以上がデザインパターンの6つの原則とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Mac版

SublimeText3 Mac版

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター