📄 cbuilder.pas
字号:
{-----------------------------------------------------------------------------
Unit Name: CBuilder
Author: hubdog(陈省)
Email: hubdog@263.net
Purpose: Builder模式示意
History:
2003-5-21 创建本单元
-----------------------------------------------------------------------------}
unit CBuilder;
interface
type
TAbstractBuilder=class(TObject)
public
procedure BuildCpu();virtual;abstract;
procedure BuildBoard();virtual;abstract;
procedure BuildMemory();virtual;abstract;
//...
function GetComputer:TObject;virtual;abstract;
end;
TLegendBuilder=class(TAbstractBuilder)
public
procedure BuildCpu();override;
procedure BuildBoard();override;
procedure BuildMemory();override;
//...
function GetComputer:TObject;override;
end;
TAcerBuilder=class(TAbstractBuilder)
public
procedure BuildCpu();override;
procedure BuildBoard();override;
procedure BuildMemory();override;
//...
function GetComputer:TObject;override;
end;
TComputerDirector=class(TObject)
public
constructor Create(ABuilder:TAbstractBuilder);
end;
implementation
{ TComputerDirector }
constructor TComputerDirector.Create(ABuilder: TAbstractBuilder);
begin
ABuilder.BuildBoard();
ABuilder.BuildCpu();
ABuilder.BuildMemory();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -