if文を減らす効果

デザインパターンでは多態性を利用したパターンが多くあります。
それらの多態性を利用したパターンがもたらす効果としては「if文を減らす」という効果があります。

なぜif文を減らす必要があるのでしょうか。

端的に書くと、バグの可能性を減らすことができるから、です。

なぜバグの可能性を減らせるのでしょうか。

条件の判定を減らせるからです。

条件の判定が存在するということは、その分、考慮すべき対象が増えるということです。
条件の判定に対する考慮とは、この値のときはこっちの動きだけれど、この値のときはそっちの動きになる、ではあの値のときはどうなるだろう? ということです。

こうなると、考慮漏れが発生する可能性が発生します。

それが、バグの可能性、ということです。

多態性を利用したパターンでは、条件分岐をする代わりに、与えられたオブジェクトのメソッドを呼び出します。
そして、何をすべきか、は各オブジェクトが責任を持ちます。

処理の分岐の数が増える代わりにクラスの数が増えます。
分岐が減るということはすなわち、条件の判定が減ります。

この仕組みにより「条件の判定に対する考慮」から、メソッド(手続き)が呼び出された時に何をすべきか、に意識が変わります。
これはすなわち、実装に集中できる、ということになるのではないでしょうか。

条件の判定に対する考慮をしなくてはならないIf文を廃することで、バグが減ります。
バグを生む代表であるIf文を減らす方法の1つとして、オブジェクト指向が存在します。