zoukankan      html  css  js  c++  java
  • 07-简单工厂(不属于设计模式)

    1. 简介

       严格意义上的说,简单工厂不属于23中设计模式,这里抛砖引玉,引出后面的工厂方法和抽象工厂两种设计模式。

        简答工厂违背:单一职责原则、开闭原则、迪米特法则。

    2. 核心代码

     1     /// <summary>
     2     /// 简单工厂类
     3     /// </summary>
     4     public class simpleFactory
     5     {
     6         public static IPeople CreateInstance(PeopleKind kind)
     7         {
     8             IPeople iPeople = null;
     9             switch (kind)
    10             {
    11                 case PeopleKind.Chinese:
    12                     {
    13                         iPeople = new Chinese();
    14                         break;
    15                     }
    16                 case PeopleKind.Janpanese:
    17                     {
    18                         iPeople = new Janpanese();
    19                         break;
    20                     }
    21                 case PeopleKind.America:
    22                     {
    23                         iPeople = new America();
    24                         break;
    25                     }
    26             }
    27             return iPeople;
    28         }
    29 
    30         //复习 反射+简单工厂+配置文件(IOC)  http://www.cnblogs.com/yaopengfei/p/6891286.html
    31 
    32         public enum PeopleKind
    33         {
    34             Chinese=0,
    35             Janpanese=1,
    36             America=2
    37         }
    38 
    39     }
     1    static void Main(string[] args)
     2         {
     3             //满足依赖倒置原则
     4             IPeople iPeople1 = simpleFactory.CreateInstance(simpleFactory.PeopleKind.Chinese);
     5             IPeople iPeople2 = simpleFactory.CreateInstance(simpleFactory.PeopleKind.America);
     6             IPeople iPeople3 = simpleFactory.CreateInstance(simpleFactory.PeopleKind.Janpanese);
     7             iPeople1.Eating();
     8             iPeople2.Eating();
     9             iPeople3.Eating();
    10             Console.ReadKey();
    11         }
  • 相关阅读:
    2017年系统架构设计师论文范文
    在SQL Server 2008中执行透明数据加密(转自IT专家网)
    开发笔记
    [置顶] GO-Gin框架快速指南
    [置顶] JS-逆向爬虫
    [置顶] ES篇
    [置顶] GO
    [置顶] 爬虫入狱指南
    [置顶] websocket
    [置顶] Linux篇
  • 原文地址:https://www.cnblogs.com/yaopengfei/p/7138113.html
Copyright © 2011-2022 走看看