博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工厂模式(Factory)
阅读量:6353 次
发布时间:2019-06-22

本文共 2198 字,大约阅读时间需要 7 分钟。

有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单AcerLenovoDell,该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,如需转载请自行联系原作者

你可能感兴趣的文章
大数据开发如何入门你必须知道这些
查看>>
关于js(es5)如何优雅地创建对象
查看>>
阿里云前端周刊 - 第 28 期
查看>>
iOS 主队列同步造成死锁的原因
查看>>
es6 下比较对象是否有修改的简要方法
查看>>
windows安装mysql
查看>>
你还在看《深入理解Java虚拟机》的运行时数据模型吗?
查看>>
RIS,创建 React 应用的新选择
查看>>
线性结构上的动态规划--算法竞赛入门经典笔记
查看>>
面试官:你使用webpack时手写过loader,分离过模块吗?
查看>>
Ubuntu 16.04系统下 对OpenJDK编译好的Hotspot 进行调试
查看>>
00-利用思维导图梳理JavaSE基础知识-持续更新中!
查看>>
java中三种注释及其实际应用的意义
查看>>
【三石jQuery视频教程】01.图片循环展示
查看>>
ngrok
查看>>
ThinkPHP 模板变量输出
查看>>
android系统信息(内存、cpu、sd卡、电量、版本)获取
查看>>
HTML5、WebKit与移动应用开发
查看>>
面google的试题,对google面试题的衍生推导
查看>>
Eclipse Debug Android Native Application
查看>>