のぶLab.

流しのソフトウェアエンジニアの雑記帳. Android, Scala, Clojure, Ruby on Railsなど

GOFデザインパターンをPythonで - Builder

こちらの写経です。

Builder

具体的な作成物を作成過程に依存しないものにすることで、同じ作成過程で異なるモノを作成することが可能。

ここではDirectorクラスはAbstract ClassであるBuilderクラスのメソッド呼び出す。
具体的に作成するモノについてはBuilderクラスを継承したConcrete BuilderのBuilderHouse、BuilderFlatに記述する。
今後、作成物が追加される場合はConcrete Builderを追加するだけで良い。