麦当劳(McDonalds)和肯德基(KFC)快餐店都经营汉堡(Hamburg)和可乐(Cola),用C#控制台应用程序实现这两个快餐店经营产品的抽象工厂模式。绘制该模式的UML图。
namespace shiyan3chouxianggongchang
{
interface IHamburg
{
void product();
}
class McDonaldsHamburg : IHamburg
{
public void product()
{
Console.WriteLine("McDonald生产了一个Hamburg");
}
}
class KFCHamburg : IHamburg
{
public void product()
{
Console.WriteLine("KFC生产了一个Hamburg");
}
}
interface ICola
{
void product();
}
class McDonaldsCola : ICola
{
public void product()
{
Console.WriteLine("McDonald生产了一个Cola");
}
}
class KFCCola : ICola
{
public void product()
{
Console.WriteLine("KFC生产了一个Cola");
}
}
interface IFactory
{
IHamburg CreateHambuger();
ICola CreateCola();
}
class McDonaldsFactory : IFactory
{
public IHamburg CreateHambuger()
{
return new McDonaldsHamburg();
}
public ICola CreateCola()
{
return new McDonaldsCola();
}
}
class KFCFactory : IFactory
{
public IHamburg CreateHambuger()
{
return new KFCHamburg();
}
public ICola CreateCola()
{
return new KFCCola();
}
}
class Program
{
static void Main(string[] args)
{
IFactory factory = new McDonaldsFactory();
IHamburg ih = factory.CreateHambuger(); ih.product();
ICola ic = factory.CreateCola();ic.product();
IFactory factory2 = new KFCFactory();
IHamburg ih2 = factory2.CreateHambuger();ih2.product();
ICola ic2 = factory2.CreateCola(); ic2.product();
//Console.Read();
}
}
}