こんにちは、エンジニアの王です。 前回の「【PHPで学ぶデザインパターン入門】第1回 Strategyパターン」に引き続き、今回は「Decorator」 パターンについて説明していきます。ちょっとややこしいのですが、こちらもかなり実用的なパターンです。 では、見ていきましょう! 継承の代替手段 「Strategy パターン」と同じく、「Decorator パターン」もまた、継承の代替手段として用いられます。そして、継承のしすぎ問題を解決する一つの手法でもあります。 今回は、「iMacの値段を算出して、付属品一覧を表示するプログラムを作る」という例で考えてみましょう。 ここでは分かりやすいように、モデルを「21.5インチ」に限定します。 しかし、一口にiMacとは言っても、スペック次第で値段が変わってきますよね? スペックだけでなく付属品の組み合わせ次第でも値段が変化していると思います。 こ