设计模式之(Strategy)策略模式
来源:互联网 发布:中华王电子烟 淘宝 编辑:程序博客网 时间:2024/05/29 13:22
需求:
我们需要设计一种动作游戏。游戏有个法师和战士两种角色,角色以后还可能会增加,比如说修行者之类的。法师和战士可以装备不同的武器和外套,武器目前有枪和迫击炮两种,外套有隐形外套和普通外套两种。武器和外套以后也可能随时增加。
设计分析:
在系统中我们看到有三种变化的需求,一是角色,二是武器,三是外套。同时角色有一些共同的行为,都可以跑,而且都必须装备武器和外套。我们将采用策略者模式隔离这三种变化。将武器和外套分属不同的策略组,或者说是武器库和外套库供用户选择。将角色作为一个父类,不同的角色继承继承父类的一些相同的行为,比如说跑。
类图:
0 0
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy模式(策略模式)
- 设计模式之strategy策略模式
- 设计模式(DesignPattern)之策略模式(Strategy)
- 设计模式之策略模式(Strategy)
- 设计模式之Strategy(策略模式)
- linux 内核常用数据结构及算法——list(循环双向链表)
- linux mtp neuxs
- Android开发实践:使用Service还是Thread
- pdf 转换成word,最大10M
- jQuery源码分析系列
- 设计模式之(Strategy)策略模式
- String.split
- 设计模式之(Observer)观察者模式
- String类、StringBuffer缓冲区、基本类型包装类
- Host SMBus controller not enabled的解决方法
- 软工学习——文档总结(二)
- php smtp协议发邮件
- 32位汇编语言学习笔记(3)--leal和算术运算指令
- EL表达式语言