工厂方法(Factory Method)模式 创建型模式
更新: 2023-05-24 11:11:27 字数: 0 字 时长: 0 分钟
定义一个用于创建产品的接口,由子类决定生产什么产品。
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();
}
}