• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#设计模式05——抽象工厂的写法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

产品

抽象产品一

    //鼠标抽象类
    public abstract class Mouse
    {
        public abstract void Print();
    }

具体产品

    //联想鼠标
    public class LenovoMouse : Mouse
    {
        public override void Print()
        {
            Console.WriteLine("生产了一个联想鼠标");
        }
    }
    //惠普鼠标
    public class HPMouse : Mouse
    {
        public override void Print()
        {
            Console.WriteLine("生产了一个惠普鼠标");
        }
    }

抽象产品二

    //键盘抽象类
    public abstract class Keybo
    {
        public abstract void Print();
    }

具体产品

    //惠普键盘
    public class HpKeybo : Keybo
    {
        public override void Print()
        {
            Console.WriteLine("生产了一个惠普键盘!");
        }
    }
    //戴尔键盘类
    public class DellKeybo : Keybo
    {
        public override void Print()
        {
            Console.WriteLine("生产了一个戴尔键盘!");
        }
    }

工厂

抽象工厂

    /// <summary>
    /// Pc产品工厂抽象类
    /// </summary>
    public abstract class PcFactory
    {
        public abstract Mouse CreateMouse();
        public abstract Keybo CreateKeybo();
    }

具体工厂

    //戴尔pc工厂
    public class DellPcFactroy : PcFactory
    {
        public override Keybo CreateKeybo()
        {
            return new DellKeybo();
        }

        public override Mouse CreateMouse()
        {
            return new DellMouse();
        }
    }
    //惠普pc工厂
    public class HpPcFactory : PcFactory
    {
        public override Mouse CreateMouse()
        {
            return new HPMouse();
        }
        public override Keybo CreateKeybo()
        {
            return new HpKeybo();
        }

    }

运行测试

                //生产一个戴尔鼠标
                MouseFactory dellMouseFactory = new DellMouseFactroy();
                _04工厂模式.Mouse dellMouse = dellMouseFactory.CreateMouse();
                dellMouse.Print();

                //生产一个惠普鼠标
                MouseFactory hpMouseFactory = new HpMouseFactory();
                _04工厂模式.Mouse hpMouse = hpMouseFactory.CreateMouse();
                hpMouse.Print();

                //生产一个联想鼠标
                LenovoMouseFactory lenovoMouseFactory = new LenovoMouseFactory ();
                _04工厂模式.Mouse lenovoMouse = lenovoMouseFactory.CreateMouse();
                lenovoMouse.Print();

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
研究C#的构造函数发布时间:2022-07-13
下一篇:
【20090903-01】C#中使用ManagementClass获取本机信息发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap