DIPは間違っている
書籍「アジャイルソフトウェア開発の奥義」(ロバートCマーチン著、瀬谷啓介訳)の第一版のP163からの記述「依存関係逆転の原則(DIP)」は間違っているか、あるいは議論に混乱が見られる。ネット上にはこれを無批判に引用する日本語記事が多々存在するのだが、彼らは全くその内容を理解していない。
DIP原則とは
本人の説明はこうである。
- 上位モジュールは下位モジュールに依存してはならない。どちらのモジュールも抽象に依存すべきである。
- 「抽象」はその実装の詳細に依存してはならない。実装の詳細が「抽象」に依存すべきである。
という。ここで、「上位モジュールは下位モジュールに依存してはならない」は間違いである。
つづく