今日の勉強

二つの間に入ってつなぎ役になるパターンのこと。継承と委譲のふたつの種類がある。
なにか新たにクラスを生成するときに、すでにそれに近いクラスがある場合にそれを
再利用するのに使ったり、過去のバージョンと互換性を取るために利用する。
# Design Pattern Adapter(継承)

# Banner class
class Banner
  def initialize(name)
    @name = name
  end
  
  def show_with_pattern()
    puts "(#{@name})"
  end
  
  def show_with_aster()
    puts "*#{@name}*"
  end
end

# PrintBanner class
class PrintBanner < Banner
  def initialize(name)
    super(name)
  end
  
  def print_week()
    show_with_pattern
  end
  
  def print_strong()
    show_with_aster
  end
end

# main
p = PrintBanner.new("Hello")
p.print_week
p.print_strong