# 委譲を使ったAdapterパターン # # Java言語で学ぶデザインパターンと同様の例題をRubyで記述した。 # # coded by Takehiro Kaga # class Banner def initialize(string) @string = string end def showWithParen puts "( " + @string + " )" end def showWithAster puts "* " + @string + " *" end end class PrintBanner def initialize(string) @banner = Banner.new(string) end def print1 @banner.showWithParen end def print2 @banner.showWithAster end end # 委譲を使ったAdapterパターンの実行例 # print1 print2 インターフェイスで既存の # showWithParen showWithAsterを使用している p = PrintBanner.new("Hello") p.print1 p.print2