以前看GOF的那本设计模式依然有很多模式理解不能,而且好像好多模式好像都差不多,而且现实使用中,经常多个模式一起混合使用........现在希望能有更加深刻的理解,把自己的理解写出来,以便以后对照更改..
/*
* 策略模式意图:定义一系列算法,把它们一个个封装起来,并且使它们可互相替换。该模式使得算法可独立于使用它的客户而变化。
*
* 策略模式实现要点: 1、策略调用类中一般会包含一条或几条if或switch 语句,在这些语句中实现具体策略的调用
* 2、使用扩展方法,可以直接定义新的策略,而不依赖原来所支持的类
* 3、也可以使用委托的方式实现策略模式
*
* 策略模式优点: 1、策略模式使得具体算法的调用独立于客户端变化
*
*/
用经理和秘书来说明,经理星期一到星期七都要开会,但经理不会整理开会资料这些琐碎事的,这些安排当然交给秘书做,经理可以抽身出来做自己应该做的事情..所以经理星期一到星期七每天就调用自己的成员变量 <秘书> 秘书就调用各种不同算法去整理资料 . ..所以当经理调用秘书时候,秘书自己会根据不同会议把不同资料提交上来了.
做游戏的时候,很多时候可以用到这个策略模式,目的很明确,把模块和功能分得更加明确 和 减少耦合度.....到时候增加功能和维护就还能简单了.
例如技能与技能效果,