简单工厂模式(Simple Factory Pattern)是属于创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。
以下是一个简单工厂模式的C#实现示例:
using System;
// 抽象产品类
public abstract class Vehicle
{
public abstract void Display();
}
// 具体产品类
public class Car : Vehicle
{
public override void Display()
{
Console.WriteLine("Car created.");
}
}
public class Truck : Vehicle
{
public override void Display()
{
Console.WriteLine("Truck created.");
}
}
// 简单工厂类
public class VehicleFactory
{
public static Vehicle CreateVehicle(string type)
{
if(type.ToLower() == "car")
return new Car();
else if(type.ToLower() == "truck")
return new Truck();
else
return null;
}
}
// 使用简单工厂模式
public class SimpleFactoryPatternExample
{
public static void Main()
{
Vehicle car = VehicleFactory.CreateVehicle("Car");
car.Display();
Vehicle truck = VehicleFactory.CreateVehicle("Truck");
truck.Display();
// 当尝试创建一个未定义的类型时,将返回null
Vehicle bike = VehicleFactory.CreateVehicle("Bike");
if(bike != null)
bike.Display();
else
Console.WriteLine("Bike cannot be created.");
}
}
在这个例子中,我们有一个VehicleFactory
类,它是一个简单工厂,可以根据传入的字符串类型创建不同的Vehicle
类型。如果传入的类型不是定义好的,则返回null
。这个例子展示了工厂模式的基本概念,并且易于理解和应用。