最新回答 / 新的纪元
策略模式主要是凸显组合方式比继承方式具有的优点,你分的三种策略应该是都要进行判断的,不像视屏中讲解的车子的轮胎只需要实现轮胎接口的一种轮胎实现类或是一种鸭子只需要实现飞行策略接口的一种飞行实现类。你的这种其实可以使用责任链模式,虽然与责任链关系不大,甚至最简单的实现方式就用if()else(),三种情况用||连接。
2020-03-10
最赞回答 / Yow
简单来说,模板方法模式就是英语考试的完形填空题(自己考虑填什么词、句子),策略模式就是信息匹配题(提前写好选择项,当你有多个填空时,直接选就好了,没有适合的就再多写几个选择项)。
2018-08-20
最赞回答 / Adeaven
我也是初学者,我的思路是这样的:第一步:既然不同鸭子有不同的“叫法”,无论是“嘎嘎”,还是“噶~”或是“不会叫”,都可以抽象为:GaWay(叫法)的一个接口第二步:再创建多个子接口:GaWay1(叫法:gaga)、GaWay2(叫法:噶~)、以及NoGaWay(叫法:不会叫)第三步:创建大黄鸭,调用子接口:NOGaWay(),就可以实现大黄鸭不会叫的代码了这是我的实现思路
2016-04-13