一、策略模式定义
策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
二、应用场景
eg:一个游戏中有多个角色,角色有共性,也有不同的行为,比如:打斗行为可以是使用匕首刺杀、用弓箭射击、用斧头砍劈、用宝剑挥舞等。显然只用继承不能同时满足不同角色实现不同打斗行为,和代码复用的功能。此时可以使用策略模式,将不同的打斗行为封装成类,实现不同角色调用不同打斗行为的功能。
一、策略模式定义
策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
二、应用场景
eg:一个游戏中有多个角色,角色有共性,也有不同的行为,比如:打斗行为可以是使用匕首刺杀、用弓箭射击、用斧头砍劈、用宝剑挥舞等。显然只用继承不能同时满足不同角色实现不同打斗行为,和代码复用的功能。此时可以使用策略模式,将不同的打斗行为封装成类,实现不同角色调用不同打斗行为的功能。