zoukankan      html  css  js  c++  java
  • 简单工厂模式随笔

      http://www.cnblogs.com/zhanghaipeng-Unity3D/p/4752181.html

      简单工厂模式是一种创建模式,主要是通过一个静态函数,根据不同的传入参数返回不同类的实例。涉及到一个超类和多个产品类,优点是方便了类的创建管理,实现简单,缺点是当需要新加产品类时,需要修改工厂类的代码,一定程度上违反的"开闭原则"。

      public abstract Gun  //超类枪

      {

        public virtual void Attack()

        {

          Console.WriteLine("attack")

        }

      }

      public AK47 : Gun //产品类Ak47

      {

         public override Attack()

        {

          Console.WriteLine("ak47 shot");

        }

      }

      public Handgun : Gun   //产品类handgun

      {

        public override Attakc()

        {

          Console.WriteLine("handgun shot");

        }

      }

       

      public SimpleFactory  //简单工厂类

      {

        public static Gun CreateGun(string gunName)

        {

          Gun gun = null;

          switch(gunName)

          {

            case "ak47":

              gun = new AK47();

              break;

            case "handgun":

              gun = new Handgun();

              break;

          }

          return gun;

        }

      }

      

      

      

  • 相关阅读:
    C语言:线程同步之信号量(sem_init,sem_post,sem_wait)
    SVN使用 -work
    atomic c++ y原子变量 替换锁代码
    原子变量
    perf
    内存泄露检测工具对比
    valgrind ----直接使用参数
    堆内存分析---特别棒
    调不尽的内存泄漏,用不完的 Valgrind(转)
    静态库动态库制作方法
  • 原文地址:https://www.cnblogs.com/zhanghaipeng-Unity3D/p/4752181.html
Copyright © 2011-2022 走看看