建造者模式-Delphi述

原创 2004年06月10日 16:59:00

依然是java 与模式里的例子,(java 与模式 闫宏著) 以下是转为delphi的代码,这次加了注释:)

unit BuilderPattern;

interface

type
  TProduct = class;

  //抽像建造者 规范接口

  TBuilder = class(TObject)
  public
    procedure builderpart1(); virtual; abstract;
    procedure builderpart2(); virtual; abstract;
    function returnProduct(): TProduct; virtual; abstract;
  end;

  //具体的创建者类,组件同他来创建,这样客户端不用知道具体的建造细节

  TConcreteBuilder = class(TBuilder)
  private
    product: TProduct;
  public
    procedure builderpart1(); override;
    procedure builderpart2(); override;
    function returnProduct(): TProduct; override;
  end;

  //产品类

  TProduct = class(TObject)
  //
  end;

  //导演者角色,直接被客户端使用 

 TDirector = class(TObject)
  private
    Builder: TBuilder;
  public
    procedure Initialize();
  end;
implementation

{ TDirector }

procedure TDirector.Initialize;
begin
  Builder := TConcreteBuilder.Create;
  Builder.builderpart1();
  Builder.builderpart2();
  Builder.returnProduct;
end;

{ TConcreteBuilder }

procedure TConcreteBuilder.builderpart1;
begin
  // your code
end;

procedure TConcreteBuilder.builderpart2;
begin
  // your code
end;

function TConcreteBuilder.returnProduct: TProduct;
begin
  Result := product;
end;

end.

第一次书写标书和述标经历

为了保密起见以下出现相关信息均使用字母表示 前段时间曾经合作过的S公司联系我们公司说需要投标G项目,感觉我们的系统平台不错,所以需要我们帮其完成技术方案,我们主管貌似有点忙,so让我帮忙完成。OH,...
  • DADADIE
  • DADADIE
  • 2015年04月08日 20:50
  • 4367

DES加密算法Delphi与C#互通(CBC加密模式)

unit Unit1; interface uses Windows, Classes, SysUtils,Dialogs,EncdDecd; type fdArray = arr...
  • dkbnull
  • dkbnull
  • 2017年01月28日 16:12
  • 1276

浅拷贝与深度拷贝(原型模式)

深度复制
  • liang08114
  • liang08114
  • 2016年05月09日 11:14
  • 515

再述设计模式——基础知识

小组谈论的设计模式,收获很多,下面我们来说说设计模式的核心——七大原则。 一: 什么是设计模式?        首先,我们阐述一下模式的定义。模式最早从建筑行业而来,也就是对一些住宅和城市环境共同认识...
  • u013047824
  • u013047824
  • 2015年08月23日 17:05
  • 735

初级教程之---delphi调试

一、准备调试       Delphi 在 IDE 内部集成了一个调试器,因而对程序的调试不用离开集成开发环境(IDE)就可以进行。该调试器能够控制程序的运行、监视程序的输出、检查和修改变量的值。 ...
  • sushengmiyan
  • sushengmiyan
  • 2013年03月13日 20:50
  • 10042

以Delphi Package架构多人开发应用程序环境

印象中的Package   在一般的AP开发时,我们知道在Delphi7.0整合环境中将Project->Options->选到Packages卷标页,Builder with runtime p...
  • xiexuan2007
  • xiexuan2007
  • 2013年12月20日 12:24
  • 1272

Delphi DES加密解密单元

unit DES; interface uses SysUtils; type   TKeyByte = array[0..5] of Byte;   TDesMode = (dmE...
  • longchanghua_enshi
  • longchanghua_enshi
  • 2014年04月25日 12:47
  • 1719

Delphi调试服务程序的两种方法

近日在做服务项目中总结了两种delphi service调试方法,供大家借鉴: 一、编译指令 这种方法原理就是让服务以普通程序的方式来运行。 首先处理项目文件的单元头(RUNASAPP即为编译指...
  • youxiazzz12
  • youxiazzz12
  • 2013年08月15日 12:20
  • 1517

网卡混杂模式

前言使用原始套接字, 练习网卡混杂模式, 封装了一个UI. 取到IP数据, 用IP头, TCP头, UDP头,ICMP头按照定义进行了读取和显示. 可以分别监听TCP,UDP,ICMP数据 ...
  • LostSpeed
  • LostSpeed
  • 2016年04月10日 10:58
  • 913

设计模式之总述篇

以下是对《Head First 设计模式》中提到的OO原则和设计模式的总结。 OO原则和设计模式的联系:模式可以让我们建造出具有良好OO设计质量的系统。模式被认为是历经验证的OO设计经验。 OO设...
  • viviwen123
  • viviwen123
  • 2014年05月21日 14:41
  • 795
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:建造者模式-Delphi述
举报原因:
原因补充:

(最多只允许输入30个字)