简单工厂模式随笔

  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;

    }

  }

  

  

  

posted @ 2015-08-23 11:44  特--呆  阅读(476)  评论(0编辑  收藏  举报