zoukankan      html  css  js  c++  java
  • C#设计模式03——简单工厂的写法

    抽象产品角色

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

    具体产品角色

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

    工厂角色

        public  class MouseFachtory
       {
            private Mouse mouse = null;
            public Mouse CreateMouse(string brand)
            {
              
                switch (brand)
                {
                    case "dell":
                        mouse=new DellMouse();
                        break;
                    case "hp":
                        mouse = new HPMouse();
                        break;
                    case "lenovo":
                        mouse = new LenovoMouse();
                        break;
                    default:
                        break;
                }
                return mouse;
            }
       }

    运行测试

                    MouseFachtory mouseFachtory = new MouseFachtory();
                    var mouse1 = mouseFachtory.CreateMouse("dell");
                    var mouse2 = mouseFachtory.CreateMouse("dell");
                    var mouse3 = mouseFachtory.CreateMouse("dell");
                    var mouse4 = mouseFachtory.CreateMouse("hp");
                    var mouse5 = mouseFachtory.CreateMouse("hp");
                    var mouse6 = mouseFachtory.CreateMouse("lenovo");
                    mouse1.Print();
                    mouse2.Print();
                    mouse3.Print();
                    mouse4.Print();
                    mouse5.Print();
                    mouse6.Print();

    !

    • 作       者 : 明志德道
    • 希     望: 如果内容对您有用,动动小手点个赞吧,您的支持就是我持续写作的动力!
    • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
    • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
  • 相关阅读:
    Python return语句用法分析
    set built-in function
    dict built-in function
    String bulit-in function
    tuple built-in function
    Pyhton:List build-in function
    Python之如果添加扩展包
    关于编辑器
    attachEvent和addEventListener详解
    jquery异步调用页面后台方法
  • 原文地址:https://www.cnblogs.com/for-easy-fast/p/14374143.html
Copyright © 2011-2022 走看看