zoukankan      html  css  js  c++  java
  • 工厂模式(Factory)

    有一个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 : 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 }
    字节跳动内推

    找我内推: 字节跳动各种岗位
    作者: ZH奶酪(张贺)
    邮箱: cheesezh@qq.com
    出处: http://www.cnblogs.com/CheeseZH/
    * 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    java基础--字符转换Unicode
    java基础---集合框架
    洛谷 P2049 魔术棋子(vector)
    洛谷 P3133 [USACO16JAN]Radio Contact G
    洛谷 P2679 子串
    洛谷 P2549 计算器写作文
    洛谷 P2758 编辑距离
    洛谷 P1481 魔族密码
    洛谷 P1754 球迷购票问题
    洛谷 P2782 友好城市
  • 原文地址:https://www.cnblogs.com/CheeseZH/p/2500548.html
Copyright © 2011-2022 走看看