Builderパターン

  • このエントリーをはてなブックマークに追加

あまりにもパターンのボキャブラリーが少ないので増やさないとダメだよなぁ。
本にある例題を多言語にコンバートして勉強中。
本日はBuilderパターン。

class MyClass
def initialize(str)
@str = str
end
attr_accessor :name
end

とあったとき、

class BuilderA
def initialize
@str = ""
end
def add1stParam
@str = @str + "hoge"
end
def add2ndParam
@str = @str + "foo"
end
def getMyClass
return MyClass.new(@str)
end
end

と、builderを作る。
で、directorも作る。

class DirectorA
def createMyClass(builder)
builder.add1stParam
builder.add2ndParam
return builder.getMyClass
end
end

これでパターンになる。メインを記述する。

builder = BuilderA.new
dirA = DirectorA.new
myclass1 = dirA.createMyClass(builder)
p myclass1.name

・・・ふむ。書けば納得。

(Visited 1 times, 1 visits today)
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*