我们会在开课前10分钟,以手机短信的形式为您发送直播间地址~
扫码关注【黑马程序员】公众号
获取更多IT免费学习资源
关于策略模式,官方给出的定义如下。
策略模式将可变的部分从程序中抽象出来分离成算法接口,在该接口下分别封装一系列算法实现。
这其中的设计原则有:1.找出应用中需要变化的部分,把他们独立出来做成算法接口。(我们是把每个英雄的召唤师技能做成了算法接口,局内道具也是可以这样做的)2.面向接口编程,而不是面向实现。(我们在使用召唤师策略接口时,并不知道它以后还会有什么样的召唤师技能)3.多用组合,少用继承。(一个完整的英雄,是用具体的接口对象组合而成的,或者说各种接口小对象组合成了一个英雄对象)
策略模式的优点
1. 使用了组合,而不单单是继承,使得架构更灵活。
2. 富有弹性,可以较好的应对未来的变化。(开-闭原则)
3. 更好的代码复用性。(相对于继承)
策略模式的缺点
1. 增加了对象的数目(每个接口都做成了一个对象,对象数目是不是增多了)
0人已评分
我也要评分