- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.简单工厂模式
探索设计模式——星际争霸探险之旅
探索设计模式
——星际争霸探险之旅
第一部分:创建模式
第一部分:创建模式
第第一一部部分分::创创建建模模式式
在GoF23种经典设计模式中,按照行为目的划分的话,可分为“创建模式”、“结构模式”、“行
为模式”三大类别。这三大类23 种设计模式,将会在《设计模式探索》中,随着Terran 与Zerg
1
两个种族进行星际争霸大战中,各个角色使用不同的设计模式来解决战场上各种各样的问题,一
一展现设计模式在编程实践中,让代码变得优雅、健壮的魅力。
创建模式包括:
FactoryMethod 工厂方法模式
AbstractFactory 抽象工厂模式
Builder 构造器模式
Protoype 原型模式
Singleton 单例模式
1. SimpleFactoryPattern
1. SimpleFactoryPattern
11..简单工厂模式(SSiimmpplleeFFaaccttoorryyPPaatttteerrnn)
严格来说,简单工厂模式并不属于GoF23种经典设计模式之一,但是简单工厂作为一个常用
的编程习惯,在实际程序开发中经常被使用到,能为我们简单而有效的解决一些问题。同时,作
为后续其他创建模式的引导,有必要先讲一下。
目的:
通过一个外界参数来选择不同类的实例。
场景:
在《星际争霸》中,Jim Raynor(游戏剧情中的人族英雄)现在担任一个Terran突击小分队的
队长,在与Zerg 的战斗中,执行侦查和歼灭落单敌人的任务。根据当前的敌军的兵种状况,Terran
后勤部门能提供两种战斗部队:Marine(机枪兵)和Firebat(喷火兵),分别能对Zerg 的Hydralisk
(刺蛇)和Zergling(小狗)造成极大的伤害。但是如果顺序反过来,则喷火兵无法战胜刺蛇,
机枪兵也无法战胜小狗。
1 《星际争霸》:著名电子竞技游戏。如果你接触过《星际争霸》这款游戏,那学习到知识的同时将会获得游戏的乐趣,而没有接
触过《星际争霸》的话也没关系,没有游戏背景完全不影响对此系列文章的阅读。
探索设计模式——星际争霸探险之旅
分析:
先介绍两种战斗兵种的UML图和代码,本文后面讨论的“产品”就是指代他们。
图1.1 战斗部队(产品)的UML 图
public interface
public interface
ppuubblliicc iinntteerrffaaccee ITerranSoldier {
// 战士的唯一职责就是战斗
public void int
public void int
ppuubblliicc vvooiidd attackEnemy(iinntt enemy);
}
public class implements
public class implements
ppuubblliicc ccllaassss Firebat iimmpplleemmeennttss ITerranSoldier {
public
public
ppuubblliicc Firebat() {
System.out.println(训练出一个喷火兵);
}
// 喷火兵只能打赢Zergling
public void int
public void int
ppuubblliicc vvooiidd attackEnemy(iinntt enemy) {
System.out.println(enemy == Const.Zergling ? 喷火兵成功歼灭了敌人一只Zerg
您可能关注的文档
最近下载
- 水平四(九年级)体育《CPR心肺复苏》教学设计及教案.docx
- 婚姻介绍服务标准协议书范本2024年通用.docx
- 20230915-浙商证券-低轨卫星互联网行业研究:应用驱动+国家战略,进入发展快车道.pdf
- 机器人机构学基础-全套PPT课件.pptx
- YY9706.252-2021 医用电气设备第252部分医用病床.pdf
- 世界银行-2024年世界经济形势与展望(英)-2024.pdf
- 《衣物自己穿》教案 小学劳动 一年级上册.docx
- 苏科版(2024)初中生物七年级上册《生物生存依赖一定的环境》教学设计及反思.docx VIP
- 机械加工工艺过程卡片跟工序卡.doc
- 一汽奥迪Q2L&Q2L e-tron_车型手册电子版下载_非汽车用户车主车辆使用操作驾驶说明书.pdf VIP
文档评论(0)