C'est toujours un exemple de Java et de Pattern, (par Java et Pattern Yan Hong) Ce qui suit est le code converti en Delphi, et cette fois j'ai ajouté un commentaire :)
Unit Builderpattern;
interface
taper
Tproduct = classe;
// Interface de spécification du constructeur abstrait
Tbuilder = classe (tobject)
publique
procédure builderpart1 ();
Procédure BuilderPart2 ();
fonction returnProduct (): TProduct;
fin;
// Créer la classe et les composants de créateurs spécifiques ensemble, afin que le client n'ait pas besoin de connaître les détails de construction spécifiques
TConcreteBuilder = class (tbuilder)
Privé
Produit: TProduct;
publique
procédure builderpart1 ();
procédure builderpart2 ();
fonction returnProduct (): tproduct;
fin;
// Produits
Tproduct = classe (tobject)
//
fin;
// Le rôle du directeur est directement utilisé par le client
Tdirector = classe (tobject)
Privé
Constructeur: tbuilder;
publique
procédure initialize ();
fin;
Mise en œuvre
{Tdirector}
procédure tdirector.Initialize;
Commencer
Builder: = tConcreteBuilder.Create;
Builder.builderpart1 ();
Builder.builderpart2 ();
Builder.returnproduct;
fin;
{TConcreteBuilder}
procédure tConcreteBuilder.builderPart1;
Commencer
// Votre code
fin;
procédure tConcreteBuilder.builderPart2;
Commencer
// Votre code
fin;
fonction tConcreteBuilder.returnproduct: TProduct;
Commencer
Résultats: = produit;
fin;
fin.