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/
    * 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    兴趣遍地都是,专注和持之以恒才是真正稀缺的
    vuecli2和vuecli3项目中添加网页标题图标
    vue+sentry 前端异常日志监控
    从零构建vue项目(三)--vue常用插件
    从零构建vue项目(一)--搭建node环境,拉取项目模板
    dbvisualizer安装
    TS学习笔记----(一)基础类型
    基于weui loading插件封装
    UI组件--element-ui--全部引入和按需引入
    vue_全局注册过滤器
  • 原文地址:https://www.cnblogs.com/CheeseZH/p/2500548.html
Copyright © 2011-2022 走看看