ポリモーフィズムでない例

ポリモーフィズムでない例

ポリモーフィズムとはで紹介したサンプルを、ポリモーフィズムを利用しないで書いたスクリプトは、以下のようになります。

show_sample() {
    if ($item_cat == "Book") {
        return "<p>";
        return "<?php file_get_contents("".$this->datafile."");?>";
        return "</p>" ;
    } else if ($item_cat == "DVD") {
        return "<p>";
        return "<embed src="".$this->datafile.""></embed>";
        return "</p>";
    }
}

この例では商品カテゴリが Book と DVD の二つなので条件分岐も二つだけですが、今後扱う商品の種類が増えた場合は、条件分岐がだらだらと長くなります。仮に商品の種類が十種類になれば、条件分岐が延々十個も連なることになります。

もちろん、ポリモーフィズムの例でも、商品の種類が増えると新規クラスを作成するため、更新作業が必要になります。しかしながら、ソースの可読性など、保守のしやすさはポリモーフィズムの例のほうが優秀でしょう。

タグ

トラックバック&コメント

この記事のトラックバックURL:

まだトラックバック、コメントがありません。

コメントを投稿する

コメントを投稿するためには ログインしてください。


»
«