ダブルシックス・開放の原則とソフトウェアのデザインパターンの原則を閉じる(PHP言語)

転載、元のリンクhttps://www.cnblogs.com/zhanghengscnc/p/8299459.html

6つの原則のデザインパターン(6):クローズ原則

定義されています。このようなクラス、モジュールや関数などのソフトウェアエンティティは、拡張のために開いている必要がありますが、変更のため閉鎖。

問題の起源は:変更、アップグレード、および保守またはその他の理由は、既存のソフトウェア・コードを変更する必要があるのため、ソフトウェアのライフサイクルでは、古いコードはエラーを導入している可能性や、私たちは全体の機能を再構築する必要がありますする可能性があり、そして、元のコードが再テストされている必要があり。

ソリューション:ソフトウェアを変更する必要がある場合は、ソフトウェアエンティティを拡張することにより、行動の変化を達成するためにではなく、既存のコードを変更することによって変化を達成してみてください。

オープニングとオブジェクト指向設計の原則を閉じるには、安定的かつ柔軟なシステムを構築する方法で私たちを導く最も基本的な設計原理です。オープンとデザインパターンの6つの原則の原則を閉じて、それが唯一の拡張のためのオープンを教えてくれる、最もあいまいなの一つで定義されてもよいが、修正のため閉鎖が、最終的にどのように我々は拡張子を開くことができますが、変更のため閉鎖、と明示的に教えていませんでした。誰かが私に言った場合、「あなたはデザインが開閉の原則を遵守しなければならない作るときは、」以前、私は彼が何も言わなかった感じるが、それはのように見えると言います。オープン原則本当にボイド以来。

慎重に検討した後、多くの記事のデザインパターンを読んで、そして最終的に開閉の原理を少し理解しています。実際には、我々は5つの原則、目的やデザインパターンの23種類の使用の前にデザインパターンをたどるには、開閉の原則に従うことです。言い換えれば、限り、私たちはフロント5のために良いの原則を順守するよう、ソフトウェアの設計は、当然この原則の開閉、開閉の原則に沿ったものである5の前に、より多くの「平均スコア」の5つの原則の遵守の以前のレベルのようなものですソフトウェアが良いの開閉の原則を遵守するように設計されていることを示す当然高く良い、平均の原則を遵守し、;前の5つの原則は、開閉の原則に悪い、そして良好なコンプライアンスを遵守した場合。

拡大を達成するための詳細を、抽象を構築するためのフレームワーク:実際には、私は、開口部とは、意味のこの層を表現するよりも多くの原則は何も閉じていないと信じています。抽象優れた柔軟性と適応性なので、限り、抽象的、合理的として、安定したソフトウェアアーキテクチャままにすることができます。ソフトウェアの変数の詳細については、我々はそれを拡張するために、需要に応じた派生クラスを実装する必要があり、ソフトウェアを変更する必要があるとき、抽象実装クラスの生徒から拡張するために使用します。もちろん、私たちは抽象的ニーズの変化の仕事に前向きと予測可能性、合理的でなければならない場合に限ります。

ここでは、以前の5つの原則が言ったリコール、それは正確に注意が唯一の拡張の詳細を達成するために、抽象の枠組みを構築し、私たちに教えている:単一責任の原則は、単一のクラスの任務を実装するために教えてくれる、リヒターの置換原則が教えてくれるではありません損傷の継承システム、依存性逆転の原則配向させるプログラミング・インタフェースを教えてくれる、インターフェイスの棲み分け原理は時に単一のインターフェイスの設計を効率化するために教えてくれる、デメテルは、結合を低減するために教えてくれる。開閉原理はマスターであり、彼は拡張のために開くために私たちに語ったが、修正のため閉鎖しました。

最後に、これらの6つの原則を遵守する方法について説明します。これら6つの原則に従い、全く問題はないではありませんが、問題のより少ない、つまり、我々は一般的に何のコンプライアンスがありません言いませんが、遵守のどのくらいの程度と言うこと。ものはあまりにも遠く、デザインパターンの6つの設計原理は同じである、我々の目的の6つの原則の開発は彼らと剛性遵守することはないです、実際の状況の使用における柔軟性が必要。それは良いデザインであっても、合理的な範囲内で、コンプライアンスのレベル限り。私たちは説明する図を使用しています。

 

あなたが合理的なのこの原則に従うならば、我々はポイントを描くの次元で、この原則の遵守の程度に応じて、各原則を表し、図中の各次元です、そして、この時点では赤い同心円の内側に落ちる必要があります。コンプライアンスが悪い場合、ポイントは小さな丸い内側になります。過度のコンプライアンス場合、ポイントは大円の外に落ちます。良い設計は、図面に反映され、それは、同心円状に六角形の6つの頂点であるべきです。

図において、1つの設計は、設計2は、それらが合理的な範囲の6つの原則に準拠している程度に、うまく設計に属し、3デザイン、デザイン4いくつかの欠点であるが、設計、基本的に許容されると、設計5は深刻原則の欠如が厳密に守られていない。遷移は6に準拠するように設計され、設計5および6は、設計を再構築することが急務に設計されています。

おすすめ

転載: www.cnblogs.com/shamohai/p/11100472.html