「設計」をするのならまず知らなければならないこと

 まず、リスコフの置換原則 (LSP:Liskov Substituion Principle)。これを知らないと話にならない。
 一言でいえば「派生形は基本形と置換可能でならなければならない」。
 要するに「基本形にできるのに派生形にできないことがあってはいけない」ということ。
 これを知らずに設計をすることはできない。少なくとも失敗に基づく経験において知っていなければならないと思う。
 
 有名な例が「アジャイルソフトウェア開発の奥義」で描かれる「長方形」と「正方形」の例。
 継承関係を設計をする場合において「どちらがどちらを継承すべきか?」
 という問いがこの本には挙げられている。
「長方形が正方形を継承する」べきだろうか?
「正方形が長方形を継承する」べきだろうか?
 答えはこの本の中にある。

アジャイルソフトウェア開発の奥義

アジャイルソフトウェア開発の奥義

 これがわからないで設計はできない。また、すべきでもない。