工厂模式(Factory)
有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单Acer,Lenovo,Dell,该OEM商发现,如果一次同时做很多个牌子的本本,有些不利于管理。利用工厂模式改善设计,用C#控制台应用程序实现该OEM制造商的工厂模式。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Factory 7 { 8 class Laptop 9 { 10 } 11 class LaptopHP : Laptop 12 { 13 public LaptopHP() 14 { 15 Console.WriteLine("生产了一台惠普电脑"); 16 } 17 } 18 class LaptopAcer : Laptop 19 { 20 public LaptopAcer() 21 { 22 Console.WriteLine("生产了一台宏基电脑"); 23 } 24 } 25 class LaptopLenovo : Laptop 26 { 27 public LaptopLenovo() 28 { 29 Console.WriteLine("生产了一台联想电脑"); 30 } 31 } 32 class LaptopDell : Laptop 33 { 34 public LaptopDell() 35 { 36 Console.WriteLine("生产了一台戴尔电脑"); 37 } 38 } 39 interface IFactory 40 { 41 Laptop CreateLaptop(); 42 } 43 class HPFactoy : IFactory 44 { 45 public Laptop CreateLaptop() 46 { 47 return new LaptopHP(); 48 } 49 } 50 class AcerFactory : IFactory 51 { 52 public Laptop CreateLaptop() 53 { 54 return new LaptopAcer(); 55 } 56 } 57 class LenovorFactory : IFactory 58 { 59 public Laptop CreateLaptop() 60 { 61 return new LaptopLenovo(); 62 } 63 } 64 class DellFactory : IFactory 65 { 66 public Laptop CreateLaptop() 67 { 68 return new LaptopDell(); 69 } 70 } 71 72 class Program 73 { 74 static void Main(string[] args) 75 { 76 IFactory laptopFactory = new HPFactoy(); 77 Laptop laptop = laptopFactory.CreateLaptop(); 78 laptopFactory = new AcerFactory(); 79 laptop = laptopFactory.CreateLaptop(); 80 laptopFactory = new LenovorFactory(); 81 laptop = laptopFactory.CreateLaptop(); 82 laptopFactory = new DellFactory(); 83 laptop = laptopFactory.CreateLaptop(); 84 } 85 } 86 }
![字节跳动内推](https://img2020.cnblogs.com/blog/323808/202004/323808-20200415172728571-1992447742.jpg)
找我内推: 字节跳动各种岗位
作者:
ZH奶酪(张贺)
邮箱:
cheesezh@qq.com
出处:
http://www.cnblogs.com/CheeseZH/
*
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。