オブジェクト指向設計


Interface Segregation Principle (ISP) - OO設計のISPインターフェイス分離原則

2008/06/09 20:55Update
TAGS: インターフェイス分離原則 | ISP | OOD | オブジェクト指向設計

使用していないインタフェースを依頼してはならない。

Robert C. Martinによる有名なオブジェクト指向設計(OOD)の原則“Principles of OOD”があります。

本文は“Principles of OOD”のインターフェイス分離原則:Interface Segregation Principle (ISP)について学びます。

ISPインターフェイス分離原則はクラス同士の結合度を減らすという着眼点からクラス(インタフェース)の設計方法を表す原則です。

概要


Clients should not be forced to depend upon interfaces that they do not use.
クライアントは使用していないインタフェースを依存してはならない。

つまり、
◇ クライアントは自分が使うインタフェースだけを依存すべきである
◇ 単一のインタフェースより複数のインタフェースを使うべきである
◇ インタフェースをクライアントごとに分離すべきである

言い換えますと、クラスを設計する際、以下の原則に従うべきです:
◇ インタフェースの設計の原則:
  ①クライアントに使われていなかったメソッドをインタフェースから外すべきである、またはインタフェースはクライアントに必要だけのメソッドを持つ
  ②複数のクライアントはインタフェースのそれぞれ異なるメソッドを使う場合、それらのメソッドをそれぞれ別のインタフェースにすべきである
◇ インタフェースの継承の原則:例えインタフェースAはインタフェースBから継承したとし、そしてAはBのメソッドを有するとなり、インタフェースBはもちろん、AもISP原則に従うべきである。

参考資料


The Interface Segregation Principle (ISP) by Robert C. Martin.「PDF。英語」

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments