~スマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。理想論?いや、理想論大事。Principle)開放閉鎖原則とも。拡張できるべきだが、修正は行うべきではない、という原則。}}こんなクラスがあったとする。}}こんな感じ・・・なのだが、例えば以下のようなメソッドが既存コード中に存在したとする。インスタンスも渡すことが出来てしまうが、アサーションで引っかかってしまう。既存コードに修正が必要となる。Principle)リスコフの置換原則とも。簡単に言うと、サブクラスはスーパークラスと同じように使えなければならない、という原則。違反にもなっている例になっている。違反することになるため、こちらの原則を満たせないような「拡張性」は、何かしら既存コードを「修正」する必要性がある、ということになる*1。Contract)契約による設計とも。(より狭い値域)より具体的な型を返すようにする、などなど。守るの簡単だよ!ってことで上の例はどうすれば良かったのか?の一例。いうか破りようがない。違反にもなっていない。問題になるところいいことばかりではない。