抽象工厂模式

麦当劳(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();

        }
    }
}



  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值