职责链模式(chain of responsibility)
2014-07-17 19:54
375 查看
怎么描述dota 中,一个rpg受到攻击,不同装备抵御不同攻击的过程呢?
比如ts运用魔法伤害攻击dr,这时候小黑身上有圆盾、相位、流浪斗篷等装备,判定过程自然是 圆盾、相位判定一下不能抵御魔法伤害,而流浪斗篷可以。
这儿是想实现这样一种构思,装备和rpg都实现attackHandler接口,把rpg作为最底层的handler,当遭受一个袭击的时候从顶层装备开始层层处理,减轻受到的伤害。这样的好处是没有把所有的遇到袭击后的处理逻辑都存放在attackhandler当中,那样的话势必会造成处理逻辑过于庞大,而且当新出装备的时候都要修改整个逻辑,违反了开闭原则。
比如ts运用魔法伤害攻击dr,这时候小黑身上有圆盾、相位、流浪斗篷等装备,判定过程自然是 圆盾、相位判定一下不能抵御魔法伤害,而流浪斗篷可以。
@interface Attack : NSObject { } @end
#import <Foundation/Foundation.h> #import "Attack.h" @interface AttackHandler : NSObject { @private AttackHandler *nextAttackHandler_; } @property (nonatomic, retain) AttackHandler *nextAttackHandler; - (void) handleAttack:(Attack *)attack; @end
这儿是想实现这样一种构思,装备和rpg都实现attackHandler接口,把rpg作为最底层的handler,当遭受一个袭击的时候从顶层装备开始层层处理,减轻受到的伤害。这样的好处是没有把所有的遇到袭击后的处理逻辑都存放在attackhandler当中,那样的话势必会造成处理逻辑过于庞大,而且当新出装备的时候都要修改整个逻辑,违反了开闭原则。
相关文章推荐
- 设计模式与泡mm的关系之Chain of Responsibility职责链模式及再思考
- Core Design Patterns(16) Chain of Responsibility 职责链模式
- 设计模式之Chain of Responsibility(职责链)
- 设计模式—Chain of Responsibility职责链模式
- C#面向对象设计模式纵横谈 学习笔记20 Chain of Responsibility职责链模式(行为型模式)
- 设计模式之Chain of Responsibility职责链模式
- 职责链模式(Chain of Responsibility)
- [导入]C#面向对象设计模式纵横谈(20):(行为型模式) Chain Of Responsibility 职责链模式.zip(8.18 MB)
- 设计模式之Chain of Responsibility(职责链)
- 设计模式学习笔记--Chain Of Responsibility 职责链模式
- 设计模式(17)-职责链模式(Chain of Responsibility)
- 职责链模式(chain of responsibility)解析例子 推荐
- 设计模式之职责链(chain of responsibility)---对象行为型模式
- [导入]C#面向对象设计模式纵横谈(14):Chain of Responsibility 职责链模式(行为型模式).zip(9.54 MB)
- 设计模式之Chain of Responsibility(职责链)
- Java设计模式-----Chain of Responsibility职责链模式
- 设计模式之Chain of Responsibility(职责链)
- 设计模式之Chain of Responsibility(职责链)
- 重温设计模式(三)——职责链模式(chain of responsibility)
- 设计模式--Chain Of Responsibility 职责链模式