Delphi 设计模式:《HeadFirst设计模式》Delphi7代码
适配器模式的主要意图是对现有类的接口进行转换,以满足目标类的需求。其次,可以给目标类的接口添加新的行为(主要指方法)。这一点容易与装饰模式混淆。从意图方面来看,装饰模式不改变(通常指增加)接口中的行为(主要指方法),而是在原有行为(主要指方法)的基础上添加新的功能;从类结构方面来看,装饰模式中的装饰者既继承又组合被装饰者。类适配器同时继承现有类和目标类,对象适配器继承目标类组合现有类。
1.现有类,被转换接口者
{《HeadFirst设计模式》之适配器模式 }
{ 现有类 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }
unit uAdaptee;
interface
type
TTurkey = class(TObject)
public
procedure Gobble; virtual; abstract;
procedure Fly; virtual; abstract;
end;
TWildTurkey = class(TTurkey)
public
procedure Gobble; override;
procedure Fly; override;
end;
implementation
{ TWildTurkey }
procedure TWildTurkey.Fly;
begin
Writeln('I''m flying a short distance.');
end;
procedure TWildTurkey.Gobble;
begin
Writeln('Gobble gobble.');
end;
end.
2.目标类
{《HeadFirst设计模式》之适配器模式 }
{ 目标类 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }
unit uTarget;
interface
type
TDuck = class(TObject)
public
procedure Quack; virtual; abstract;
procedure Fly; virtual; abstract;
end;
TMallarDuck = class(TDuck)
public
procedure Quack; override;
procedure Fly; override;
end;
implementation
{ TMallarDuck }
procedure TMallarDuck.Fly;
begin
Writeln('I''m flying.');
end;
procedure TMallarDuck.Quack;
begin
Writeln('Quack.');
end;
end.
3.适配器
{《HeadFirst设计模式》之适配器模式 }
{ 适配器,转换现有类的接口 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }
unit uAdapter;
interface
uses
uTarget, uAdap
相关文档:
第一章 DELPHI的原子世界
第二章 DELPHI与WIN32时空
第三章 多线程
第四章 接口
第五章 包
第六章 事件与消息
第七章 组织你的模块
第八章 探索数据库
第九章 多层体系结构
第十章 操作界面与操作逻辑
第十一章 面向对象数据库基础
空 ......
第一章 DELPHI的原子世界
第二章 DELPHI与WIN32时空
第三章 多线程
第四章 接口
第五章 包
第六章 事件与消息
第七章 组织你的模块
第八章 探索数据库
第九章 多层体系结构
第十章 操作界面与操作逻辑
第十一章 面向对象数据库基础
空 ......
Delphi 2010正式版下载(RAD Studio 2010下载)
在8月26日正式发布了RAD Studio 2010,就是我们所谓的Delphi 2010。RAD Studio 2010包含Delphi、C++ Builder和Delphi Prism等。 RAD Studio 2010 的新功能主要在于:增强的 IDE和可视化组件库 (VCL) 框架和基础的编译器以及其他各项工具,这使得你构建那些跨越所有的数据源和 ......
1. 抽象工厂的产品
{《HeadFirst设计模式》工厂模式之抽象工厂 }
{ 抽象工厂的产品 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }
unit uPizzaIngredient;
interface
type
TDough = class(TObject)
end;
TThinCrustDough ......