c#面向对象10--简单工厂设计模式

23种设计模式

1.单例模式
2.抽象工厂模式
3.工厂方法模式
4.建造者模式
5.原型模式
6.适配器模式
7.装饰器模式
8.代理模式
9.外观模式
10.桥接模式
11.组合模式
12.享元模式
13.策略模式
14.模板方法模式
15.观察者模式
16.迭代器模式
17.责任链模式
18.命令模式
19.备忘录模式
20.状态模式
21.访问者模式
22.中介者模式
23.解释器模式
设计模式简介 | 菜鸟教程 (runoob.com)

简单工厂设计模式

简单工厂设计模式
  • 例如,工厂生产四种类型的笔记本电脑,工厂不知道用户要哪个类型的笔记本电脑,这时给用户一个父类肯定不会出错,再根据用户的输入给他把用户需要的子类赋值给父类对象即可。
  • 核心:是工厂(工厂与用户的交互,根据用户的输入不同有不同的反馈)
namespace 简单工厂设计模式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("what kind of computer wouuld you want?");
            string brand = Console.ReadLine();
            computer cp = GetBrand(brand); ;
            cp.SayHello();
            Console.ReadKey();


        }
        public static computer GetBrand(string brand)//错误一:正确输入:string brand,,,我的输入:brand
        {
            computer cp = null;//Tips:这里要先声明computer cp=null对象和return cp,然后在这两条语句中间写,防止没有返回值的情况;
            switch (brand)
            {
             
                case "Acer": cp =new Acer();//错误二: 正确输入: case "Acer":,,,我的输入:case Acer:
                    break;
                case "Lenovo": cp = new Lenovo();
                    break;
                case "dell": cp = new dell();
                    break;
            }
            return cp;
        }
    }
    public abstract class computer
    {
        public abstract void SayHello();
    }
    public class Acer : computer
    {
        public override void SayHello()
        {
            Console.WriteLine("这里是Acer笔记本");
        }
    }
    public class Lenovo : computer
    {
        public override void SayHello()
        {
            Console.WriteLine("Lenovo");
        }
    }
    public class dell : computer
    {
        public override void SayHello()
        {
            Console.WriteLine("戴尔笔记本");
        }
    }
}

你可能感兴趣的:(c#面向对象10--简单工厂设计模式)