Delphi 简单工厂模式实现
简单工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在 Delphi 中实现简单工厂模式,可以将对象的创建逻辑封装在一个独立的工厂类中,客户端代码通过调用工厂类的方法来获取所需的对象实例,而无需关心对象的具体创建过程。
以下是一个简单的示例,演示了如何在 Delphi 中实现简单工厂模式:
// 定义产品接口
type
ICar = interface
function GetName: string;
end;
// 具体产品类:轿车
type
TCar = class(TInterfacedObject, ICar)
public
function GetName: string;
end;
// 具体产品类:SUV
type
TSUV = class(TInterfacedObject, ICar)
public
function GetName: string;
end;
// 工厂类
type
TCarFactory = class
public
class function CreateCar(const carType: string): ICar;
end;
// 具体产品类实现
function TCar.GetName: string;
begin
Result := '轿车';
end;
function TSUV.GetName: string;
begin
Result := 'SUV';
end;
// 工厂类实现
class function TCarFactory.CreateCar(const carType: string): ICar;
begin
if carType = '轿车' then
Result := TCar.Create
else if carType = 'SUV' then
Result := TSUV.Create
else
raise Exception.Create('不支持的车型');
end;
// 客户端代码
procedure TestSimpleFactory;
var
car: ICar;
begin
car := TCarFactory.CreateCar('轿车');
WriteLn(car.GetName);
car := TCarFactory.CreateCar('SUV');
WriteLn(car.GetName);
end;
在上面的示例中:
ICar
接口定义了产品的抽象接口。TCar
和TSUV
是具体的实现类,分别代表轿车和 SUV。TCarFactory
是工厂类,它提供了一个CreateCar
方法,根据传入的车型参数创建相应的汽车对象。- 客户端代码通过调用
TCarFactory.CreateCar
方法来获取汽车对象,而无需关心具体的创建逻辑。
通过使用简单工厂模式,我们可以将对象的创建逻辑与客户端代码解耦,提高代码的可维护性和可扩展性。
21.72KB
文件大小:
评论区