これはまだJavaとPatternの例です(JavaとパターンYan Hongによる)以下はDelphiに変換されたコードであり、今回はコメントを追加しました:)
Unit BuilderPattern;
インタフェース
タイプ
tproduct = class;
//抽象ビルダー仕様インターフェイス
tbuilder = class(tobject)
公共
手順BuilderPart1();
手順BuilderPart2();
function returnproduct:troduct;
終わり;
//クライアントが特定の構造の詳細を知る必要がないように、特定のクリエイタークラスとコンポーネントを一緒に作成します
tconcreteBuilder = class(tbuilder)
プライベート
製品:TProduct;
公共
手順BuilderPart1();
手順BuilderPart2();
function returnproduct():troduct;
終わり;
//製品
tproduct = class(tobject)
//
終わり;
//ディレクターの役割は、クライアントによって直接使用されます
tdirector = class(tobject)
プライベート
ビルダー:tbuilder;
公共
手順初期化();
終わり;
実装
{tdirector}
手順tdirector.initialize;
始める
ビルダー:= tconcreteBuilder.create;
builder.builderpart1();
builder.builderpart2();
Builder.ReturnProduct;
終わり;
{tconcreteBuilder}
手順tconcretebuilder.builderpart1;
始める
//コード
終わり;
手順tconcretebuilder.builderpart2;
始める
//コード
終わり;
関数tconcretebuilder.returnproduct:tproduct;
始める
結果:=製品;
終わり;
終わり。