目录
2、定义 WuhanFactory、NanjingFactory和ChangshaFactory类。
前导
用C#语言实现周黑鸭工厂的产品生产统一管理。我们将通过定义接口、创建类以及使用委托来实现不同工厂生产不同产品的功能。此设计旨在模拟现实世界的工厂生产流程,并通过代码来展示其运作原理。
设计思路
先定义一个接口IProductionFactory,它是生产鸭脖和鸭翅的方法,由于每个工厂都能生产这两种产品,所以是基类。然后创建三个类WuhanFactory、NanjingFactory和ChangshaFactory,它们分别实现IProductionFactory接口。是每个工厂各自生产鸭脖和鸭翅的方法。使用委托ProductionDelegate可以在运行时动态地决定调用哪个工厂的生产方法。最后在Main函数中创建不同工厂的实例,通过生产委托来调用它们的生产方法。
完整代码
using System;
using System.IO;
public interface IProductionFactory
{
void ProduceDuckNeck();
void ProduceDuckWing();
}
public class WuhanFactory : IProductionFactory
{
public void ProduceDuckNeck()
{
Console.WriteLine("武汉工厂鸭脖");
}
public void ProduceDuckWing()
{
Console.WriteLine("武汉工厂鸭翅");
}
}
public class NanjingFactory : IProductionFactory
{
public void ProduceDuckNeck()
{
throw new NotImplementedException("南京工厂不能生产鸭脖");
}
public void ProduceDuckWing()
{
Console.WriteLine("南京工厂鸭翅");
}
}
public class ChangshaFactory : IProductionFactory
{
public void ProduceDuckNeck()
{
Console.WriteLine("长沙工厂鸭脖");
}
public void ProduceDuckWing()
{
throw new NotImplementedException("长沙工厂不能生产鸭翅");
}
}
public delegate void ProductionDelegate();
c