简单工厂模式随笔

来源:互联网 发布:mac系统做win7启动盘 编辑:程序博客网 时间:2024/06/07 00:51

  http://blog.csdn.net/littleadr

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

  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;

    }

  }

  

  

  

0 0
原创粉丝点击