本文主要是介绍《GOF设计模式》—适配器(ADAPTER)—Delphi源码示例:适配器接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
示例:适配器接口
说明:
(1)、定义
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(2)、结构
对象匹配器依赖于对象组合,如下图所示。
目标Target:定义Client使用的与特定领域相关的接口。
适配器Adapter:对Adaptee的接口与Target接口进行适配。
被适配者Adaptee:定义一个已经存在的接口,这个接口需要适配。
客户端Client:与符合Target接口的对象协同。
协作:Client在Adapter实例上调用一些操作。接着适配器调用Adaptee的操作实现这个请求。
代码:
unit uAdapter;
interface
uses
Dialogs;
type
TTarget = class(TObject)
procedure Request; virtual; abstract;
end;
TAdaptee = class
procedure SpecificRequest;
end;
TAdapter = class(TTarget)
procedure Request; override;
private
FAdaptee: TAdaptee;
public
constructor Create;
destructor Destroy; override;
end;
implementation
procedure TAdaptee.SpecificRequest;
begin
ShowMessage('123');
end;
constructor TAdapter.Create;
begin
FAdaptee := TAdaptee.Create;
end;
destructor TAdapter.Destroy;
begin
FAdaptee.Free;
//---
inherited;
end;
procedure TAdapter.Request;
begin
FAdaptee.SpecificRequest;
end;
end.
procedure TForm1.Button1Click(Sender: TObject);
var
ATarget: TTarget;
begin
ATarget := TAdapter.Create;
ATarget.Request;
ATarget.Free;
end;
这篇关于《GOF设计模式》—适配器(ADAPTER)—Delphi源码示例:适配器接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!