インターフェース分離原理

王林
リリース: 2024-08-25 22:30:33
オリジナル
835 人が閲覧しました

Interface Segregation Principle

クライアントは、使用しないメソッドに依存することを強制されるべきではありません

さまざまな出力デバイスがオブジェクトを使用して表現されるオフィス空間の例を考えてみましょう

インターフェイス分離原則の前:

I多機能インターフェイス

リーリー

上記の共通インターフェースを様々なデバイスに実装中

すべての機能を備えた XeroxWorkCenter クラス

リーリー

HpPrinterNScanner クラスには印刷機能とスキャン機能があります

リーリー

CanonPrinterクラスは印刷機能のみを持ちます

リーリー

ISPの違反を特定するテクニック

  • ファットインターフェイス(多くのメソッド宣言が 2 つあるインターフェイス)
  • 凝集度の低いインターフェース(互いに関連性が低いメソッドを持つインターフェース)
  • *空のメソッドの実装 *(クラスが使用しないメソッドの実装を強制される場合、メソッドの実装は空白の本体のままになります)

インターフェイス分離原則後の:

リーリー リーリー リーリー リーリー リーリー リーリー

各インターフェースは単一の責任を持ち、よりクリーンになりました。

ISP と他の SOLID 原則との関係

単一責任
インターフェースを異なるインターフェースに分離した後、IPrint、IScan などのすべてのインターフェースが単一の責任を持つようになりました

リスコフの交代
分離により、すべてのサブタイプまたは実装クラスをインターフェース参照変数に置き換えることができるため、すべてのクラス (インターフェースを実装) が Liskov 置換に従います

以上がインターフェース分離原理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!