Skip to content

工厂方法(Factory Method)模式 创建型模式

定义一个用于创建产品的接口,由子类决定生产什么产品。

c#
// 工厂方法模式示例
using System;

// 定义一个抽象类,用于创建产品对象
abstract class Creator
{
    // 工厂方法,返回一个产品对象
    public abstract Product FactoryMethod();
}

// 具体的创建者,实现工厂方法,返回具体的产品对象
class ConcreteCreatorA : Creator
{
    public override Product FactoryMethod()
    {
        return new ConcreteProductA();
    }
}

class ConcreteCreatorB : Creator
{
    public override Product FactoryMethod()
    {
        return new ConcreteProductB();
    }
}

// 抽象产品类
abstract class Product
{
    public abstract void Use();
}

// 具体产品类A
class ConcreteProductA : Product
{
    public override void Use()
    {
        Console.WriteLine("使用具体产品A");
    }
}

// 具体产品类B
class ConcreteProductB : Product
{
    public override void Use()
    {
        Console.WriteLine("使用具体产品B");
    }
}

// 客户端类
class Client
{
    static void Main(string[] args)
    {
        Creator creator = new ConcreteCreatorA();
        Product product = creator.FactoryMethod();
        product.Use();

        creator = new ConcreteCreatorB();
        product = creator.FactoryMethod();
        product.Use();

        Console.ReadLine();
    }
}
你觉得这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度