6つの原則のオブジェクト指向設計

https://blog.csdn.net/dhj199181/article/details/90637862

1)単一責任の原則:

  合理的なクラスは、それが唯一の変更点の一つの原因である必要があり、すなわち、単一の責任は一つだけの機能を持っている必要があり、このクラスを設計することです。

  利点:カップリングの除去、需要の変化に起因する低下による剛性コードします。
 

2)  オープン-クローズ原理:

  拡張のためのオープン、修正のため閉鎖

  利点:プログラム、その適応性、柔軟性、良好な安定性の様々な部分の間の結合を減少させます。既存のソフトウェアシステムは、システムベースの抽象化レイヤの変更を必要とせずに新しい機能を追加する必要がある場合、元に基づいてのみ、追加の新しいモジュールが追加に必要な機能を実現することができるであろう。あなたは、元のモジュールのために再テストを必要としないように、それは、既存のモジュールまたはほとんど影響への新しいモジュールの増加に影響を与えませんでした。
 

3)  リヒター置換原則:

  非常に厳格な原則、ルールは「サブクラスがそうでなければ、それはそれらのサブクラスを設計してはならない、基本クラスを置き換えることができなければなりません。」です言い換えれば、サブクラスは、基本クラスを拡張するのではなく、基本クラスを非表示にしたり、カバーします。任意の基底クラスが表示されることができる場所、サブクラスが表示されることができるようになります。

  長所:簡単に交換することができ、同じ親の下で各サブクラス、およびクライアントが無検出することができます。
 

4)  従属スイッチング原理:

  「むしろ、コンクリートよりも抽象的に依存するように設計。」言い換えれば、私たちは抽象的デザインを使用するときにどのクラスが、彼らは特定されているので、私は、必要なものを分割し始めるのではなく、1をアップだと思います。

  長所:我々は問題を分析し、それを考慮に詳細を取らないだろうというとき、人間の心自体が、実際には非常に抽象的ですが、抽象的なデザインのためのそれのうち全体の問題の非常に抽象的アイデアは、人間の思考と一致しています。抽象的なデザインは、私たちはそれが可能になった、このような拡張を実現する上であまりにも多くを頼る必要がないことを可能にするために、この原則に加えて、良いサポート(開閉原理)OCPだろう。
 

5)  インタフェース棲み分け原理:

  「大きなインターフェイス、複数の小さなインターフェースに分割」するように、再構成変更及び再配置をすることは容易であるデカップリングシステム。

  長所:ソフトウェアシステムの拡張は、修正圧力が他のオブジェクトに広がらないだろうとき。
 

6)  デメテルの法則や原理の少なくとも知識:

  正式デメテルシステムで使用される最初の時間のための原則は、それがデメテルのように定義されます。これは、「オブジェクトが他のオブジェクトを知るためにできるだけ少ないはずです。」と伝えます すなわち、エンティティは、エンティティ及び他の、そのようなその独立した機能モジュール間の相互作用を最小限にすべきです。

  長所:カップリングを排除します。

おすすめ

転載: www.cnblogs.com/DDiamondd/p/11355847.html