设计模式-Strategy 模式
来源:互联网 发布:中班美工区域活动教案 编辑:程序博客网 时间:2024/04/29 21:22
设计模式-Strategy 模式
1. 解决的问题:
假如现在要编写一个射击类小游戏, 游戏里面有不同级别的游戏角色, 这些角色可以使用不同的武器.
2. 问题分析:
角色应该可以动态的更换武器, 今后可能增加其他的角色或者其他种类的武器.
根据"将可变的部分分离出来,单独封装"的原则, 需要将武器从角色中分离出来, 单独封装.
3. UML图:
4. 代码实现:
5. 总结:
1. Strategy 模式定义:
定义一系列的算法,把他们一个个封装起来,并且使它们可相互替换。Strategy模式使算法可独立于使用它的客户而变化。
2. 体现的设计原则:
- 将可变部分分离出来单独封装;
- 多使用组合,少使用继承;
- 面向接口编程,而不面向实现编程;
3. UML图:
4. 要点:
- Strategy 基类需要定义出可供Client使用的一些算法接口;
- 可以随时根据需要增加 Strategy 而不会影响到Client;
- Client 里面需要包含对 Strategy 的引用;
- Client 可以随时更换 Strategy;
6. 理解:
- 继承的作用有两个:
->代码复用;
->让不同的东西可以具有同种类型; - 面向接口编程,是指面向基类编程, 利用基类提供的接口编程而不是利用继承下来的那些具体的子类编程;
- 设计模式-Strategy 模式
- 设计模式 - Strategy模式
- 设计模式--Strategy 模式
- Strategy设计模式
- 设计模式(Strategy)
- 设计模式-strategy
- 设计模式----Strategy(策略)
- 设计模式之 strategy
- Strategy设计模式
- 设计模式--strategy pattern
- Strategy设计模式
- 设计模式:strategy
- JAVA设计模式-Strategy
- 设计模式之Strategy
- 设计模式Strategy
- 设计模式--Strategy(策略)
- Strategy(策略)设计模式
- 设计模式:strategy
- 计算机复试
- Linux etc目录配置文件详解
- 窗口切分
- 配置SQL Server 2000安全的九大措施
- profile && login && bash_profile && bashrc的区别
- 设计模式-Strategy 模式
- Linux 认清makefile
- 详解开源界的几大开源许可协议
- vs 2005存储过程分页主要代码
- 怎样使用AJAX进行WEB应用程序开发
- 这几天的QC培训想到的
- Posting Period
- TimeShift 3d引擎.1.0版本(附带引擎Demo) (放出.)
- Lua2D游戏脚本引擎(渲染OpenGL) (源码放出)