Simple factory: The factory creates the corresponding product according to the parameters passed in.
Http://www.cnblogs.com/DelphiDesignPatterns/archive/2009/07/24/1530536.html
{"Headfirst design mode" Factory mode Simple Factory}3{Product class}4{Compilation tool: Delphi7.0 } 5{Contact information: [Email protected]com}67unit uproducts; 89Interface1011typeTpizza =class(TObject)13 PublicProcedure Prepare;Virtual;Abstract; Procedure Bake;Virtual;Abstract; Procedure Cut;Virtual;Abstract; Procedure Box;Virtual;Abstract; 18End; Tcheesepizza =class(Tpizza)21st Public22procedure Prepare; override;23procedure Bake; override;24procedure Cut; override;25procedure Box; override;26End; Tveggiepizza =class(Tpizza)29 Public30procedure Prepare; override;31procedure Bake; override;32procedure Cut; override;33procedure Box; override;34End; Tclampizza =class(Tpizza)37 Public38procedure Prepare; override;39procedure Bake; override;40procedure Cut; override;41procedure Box; override;42End; Tpepperonipizza =class(Tpizza)45 Public46procedure Prepare; override;47procedure Bake; override;48procedure Cut; override;49procedure Box; override;50End; 5152implementation53 54{Tcheesepizza}5556procedure Tcheesepizza.Bake; 57beginWriteln (' Baked cream pizza '); -End; 6061procedure Tcheesepizza.Box; 62beginWriteln (' Cream pizza box '); -End; 6566procedure Tcheesepizza.Cut; 67beginWriteln (' Slice the cream pizza '); theEnd; 7071procedure Tcheesepizza.Prepare; 72beginWriteln (' Prepare butter pizza ')); aboutEnd; 75 76{Tveggiepizza}7778procedure Tveggiepizza.Bake; 79beginWriteln (' Baking pizza '); BayiEnd; 8283procedure Tveggiepizza.Box; 84beginWriteln (' Take the vegetarian pizza box '); theEnd; 8788procedure Tveggiepizza.Cut; 89beginWriteln (' Cut the vegetarian pizza into slices '); theEnd; 9293procedure Tveggiepizza.Prepare; 94beginWriteln (' Ready pizza '); theEnd; 97 98{Tclampizza}99100procedure Tclampizza.Bake;101begin102 Writeln (' Baked clam oyster pizza '); 103End;104105procedure Tclampizza.Box;106begin107 Writeln (' Oyster pizza Box '); 108End;109110procedure Tclampizza.Cut;111beginWriteln (' cut clam pizza into slices ')); 113End;114115procedure Tclampizza.Prepare;116begin117 Writeln (' Prepare clam pizza '); 118End;119120{Tpepperonipizza}121122procedure Tpepperonipizza.Bake;123begin124 Writeln (' Bake pepperoni pizza ');End;126127procedure Tpepperonipizza.Box;128begin129 Writeln (' Will pepperoni pizza cartoning ');End;131132procedure Tpepperonipizza.Cut;133begin134 Writeln (' cut pepperoni pizza into slices '); 135End;136137procedure Tpepperonipizza.Prepare;begin Writeln (' Ready to pepperoni pizza ');End;End.
Delphi design mode: "Headfirst design mode" DELPHI7 Code---Factory mode simple factory