手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

用 Delphi 学设计模式(二) 之 工厂方法篇 (原创)

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

procedure RadioButton3Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
private
procedure 交易(水果名:string);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.交易(水果名:string);
var
我买的水果: 接口_水果;
begin
我买的水果:=工厂类_小贩.工厂(水果名);
ShowMessage(我买的水果.提示);
ShowMessage(我买的水果.被评价);
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
交易(''''苹果'''');
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
交易(''''葡萄'''');
end;

procedure TForm1.RadioButton3Click(Sender: TObject);
begin
交易(''''草莓'''');
end;
end.



这里是工厂方法模式的实现方法,在这种模式中
1、每一种水果都对应有一个小贩负责,这样他们做起生意来就轻松多了,呵呵!
2、顾客直接和小贩打交道,他知道您要什么,这样就不会因为说不清那讨厌的水果名字而吃不上说水果了。

//工厂类和水果类单元文件

unit FactoryMethod;

interface

type
接口_水果 = interface(IInterface)
function 提示():string;
function 被评价():string;
end;

类_苹果 = class(TInterfacedObject, 接口_水果)
function 提示():string;
function 被评价():string;
end;

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!