⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cbuilder.pas

📁 Delphi深度探索,Delphi深度探索(第二版)
💻 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 + -