在oo程序中,我们经常看到的一种模式就是简单工厂模式(Simple Factory)。简单工厂模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个共同的父类和共同的方法,但每个方法执行的任务不同,而且根据不同的数据进行了优化。简单工厂模式实际上不属于23个ooF模式,但它可以作为我们稍后要讨论的工厂方法的一个引导。
    在《星际争霸》的游戏中,为了在资源允许的情况下造出最多的兵,需要根据当时的资源量造不同的兵来实现造兵最大化!我们以人族造机枪兵和喷火兵的情景为例!假设当时的矿资源很充分,当气量大于25时造一个喷火兵,造完后,如果此时的气量小于25时,并不停止造兵,既然无法再造喷火兵,就造一个机枪兵……
《星际争霸》与设计模式(1)——简单工厂模式 (转)
《星际争霸》与设计模式(1)——简单工厂模式 (转)using System;
《星际争霸》与设计模式(1)——简单工厂模式 (转)
using System.Collections.Generic;
《星际争霸》与设计模式(1)——简单工厂模式 (转)
using System.Text;
《星际争霸》与设计模式(1)——简单工厂模式 (转)
《星际争霸》与设计模式(1)——简单工厂模式 (转)
namespace starcraft.SimpleFactory
}

运行结果:
《星际争霸》与设计模式(1)——简单工厂模式 (转)
   现在我们在看看game中的main函数,在程序里我们也叫客户层,游戏里我们称为指挥官!具体的兵种类我们陈为具体兵种训练师或具体兵种训练部门。指挥官只需知道现在需要造兵,于是他告诉兵工厂,我们现在有x升气,马上造兵,可造什么兵,如何造他无须知道,这是兵工厂的事,兵工厂根据指挥官提供的信息把造兵任务分配过不同的训练部门!兵工厂的作用是减少了前沿指挥官与训练部门之间的依赖!
   很显然人族兵工厂只能训练出肉体部队,在对手很强的情况下光靠肉体部队很难取得战斗的胜利,还需要机械化部队和高科技!这时简单工厂模式就显得无能为力了!不过每关系,现在游戏才刚刚开始,随着游戏的深入,我们还有其他设计模式来引导大家的生产,微操,战术,直到最后的胜利 

相关文章:

  • 2021-11-20
  • 2021-06-02
  • 2021-05-25
  • 2022-01-18
  • 2021-07-02
  • 2021-09-03
  • 2021-11-15
  • 2021-10-11
猜你喜欢
  • 2021-06-20
  • 2021-08-15
  • 2022-03-05
  • 2021-06-21
  • 2022-12-23
  • 2022-01-25
  • 2021-11-02
相关资源
相似解决方案