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("戴尔笔记本");
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容