本文共 2198 字,大约阅读时间需要 7 分钟。
有一个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 : Laptop12 {13 public LaptopHP()14 {15 Console.WriteLine("生产了一台惠普电脑");16 }17 }18 class LaptopAcer : Laptop19 {20 public LaptopAcer()21 {22 Console.WriteLine("生产了一台宏基电脑");23 }24 }25 class LaptopLenovo : Laptop26 {27 public LaptopLenovo()28 {29 Console.WriteLine("生产了一台联想电脑");30 }31 }32 class LaptopDell : Laptop33 {34 public LaptopDell()35 {36 Console.WriteLine("生产了一台戴尔电脑");37 }38 }39 interface IFactory40 {41 Laptop CreateLaptop();42 }43 class HPFactoy : IFactory44 {45 public Laptop CreateLaptop()46 {47 return new LaptopHP();48 }49 }50 class AcerFactory : IFactory51 {52 public Laptop CreateLaptop()53 {54 return new LaptopAcer();55 }56 }57 class LenovorFactory : IFactory58 {59 public Laptop CreateLaptop()60 {61 return new LaptopLenovo();62 }63 }64 class DellFactory : IFactory65 {66 public Laptop CreateLaptop()67 {68 return new LaptopDell();69 }70 }71 72 class Program73 {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 }
本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/05/14/2500548.html,如需转载请自行联系原作者