设计模式-简单工厂

简单工厂模式(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。这个例子展示了工厂模式的基本概念,并且易于理解和应用。

相关推荐

  1. 设计模式-简单工厂

    2024-07-15 11:40:03       27 阅读
  2. 设计模式简单工厂模式

    2024-07-15 11:40:03       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 11:40:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 11:40:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 11:40:03       58 阅读
  4. Python语言-面向对象

    2024-07-15 11:40:03       69 阅读

热门阅读

  1. 快排的3种方式

    2024-07-15 11:40:03       23 阅读
  2. 使用Python实现深度学习模型:模型安全与防御

    2024-07-15 11:40:03       22 阅读
  3. Linux中断处理程序的编写和调试

    2024-07-15 11:40:03       16 阅读
  4. CSS变换

    CSS变换

    2024-07-15 11:40:03      18 阅读
  5. Jupyter Lab 常用插件

    2024-07-15 11:40:03       25 阅读
  6. Elasticsearch集群健康检查与监控

    2024-07-15 11:40:03       24 阅读
  7. 数字化工厂八大核心应用场景

    2024-07-15 11:40:03       20 阅读