工厂方法模式

来源:互联网 发布:美丽说网络兼职客服 编辑:程序博客网 时间:2024/06/14 19:43

有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单Acer,Lenovo,Dell,该OEM商发现,如果一次同时做很多个牌子的本本,有些不利于管理。利用工厂模式改善设计,用C#控制台应用程序实现该OEM制造商的工厂模式。绘制该模式的UML图。




public abstract class Laptop    {        public abstract void show();    }    public class HPLaptop:Laptop    {        public override void show()        {            Console.WriteLine("惠普笔记本");        }    }    public class AcerLaptop : Laptop    {        public override void show()        {            Console.WriteLine("Acer");        }    }    public class LenovoLaptop : Laptop    {        public override void show()        {            Console.WriteLine("Lenovo");        }    }    public class DellLaptop : Laptop    {        public override void show()        {            Console.WriteLine("Dell");        }    }    interface IFactory    {        Laptop CreateLaptop();    }    class HPFactory : IFactory    {        public Laptop CreateLaptop()        {            return new HPLaptop();        }    }    class AcerFactory : IFactory    {        public Laptop CreateLaptop()        {            return new AcerLaptop();        }    }    class LenovoFactory : IFactory    {        public Laptop CreateLaptop()        {            return new LenovoLaptop();        }    }    class DellFactory : IFactory    {        public Laptop CreateLaptop()        {            return new DellLaptop();        }    }        class Program    {        static void Main(string[] args)        {            IFactory lf = new HPFactory();            Laptop tp = lf.CreateLaptop();            tp.show();            lf = new AcerFactory();            tp = lf.CreateLaptop();            tp.show();            lf = new LenovoFactory();            tp = lf.CreateLaptop();            tp.show();            lf = new DellFactory();            tp = lf.CreateLaptop();            tp.show();        }}



原创粉丝点击