还是呀,这样不就是面向接口编程吗
一次书写多处调用
策略模式主要是凸显组合方式比继承方式具有的优点,你分的三种策略应该是都要进行判断的,不像视屏中讲解的车子的轮胎只需要实现轮胎接口的一种轮胎实现类或是一种鸭子只需要实现飞行策略接口的一种飞行实现类。你的这种其实可以使用责任链模式,虽然与责任链关系不大,甚至最简单的实现方式就用if()else(),三种情况用||连接。
最主要是这种思想模式比较值得学习
简单来说,模板方法模式就是英语考试的完形填空题(自己考虑填什么词、句子),策略模式就是信息匹配题(提前写好选择项,当你有多个填空时,直接选就好了,没有适合的就再多写几个选择项)。
你可以试试加入责任链模式和这个结合或许就可以实现动态了,个人理解
此话怎讲?抄的哪儿的
。。。
http://www.imooc.com/search/course?words=%E6%A8%A1%E5%BC%8F
这要是学这种思想模式
没记错的话是23种吧
责任链是有人处理的一层一层的
而策略是一种要求的 多种实现
解耦合的实现 , 怎么说呢, 没有绝对的, 根据项目的需求来做, 不要为了设计设计
是一种设计模式的原则,ok
FlyingStragety为飞行接口,设定所有飞行行为都需要实现的接口,而每一种飞行行为的具体实现在由器自己所重写的方法决定;
构造方法中的super();是用来继承父类的构造方法,
策略模式会使用多态来实现。 或者说:多态的一种应用方式就是策略。
我也是初学者,我的思路是这样的:
第一步:既然不同鸭子有不同的“叫法”,无论是“嘎嘎”,还是“噶~”或是“不会叫”,都可以抽象为:GaWay(叫法)的一个接口
第二步:再创建多个子接口:GaWay1(叫法:gaga)、GaWay2(叫法:噶~)、以及NoGaWay(叫法:不会叫)
第三步:创建大黄鸭,调用子接口:NOGaWay(),就可以实现大黄鸭不会叫的代码了
这是我的实现思路
就是面向接口编程
同问。此处@arthur老师
按照我的理解哈,回调应该是体现的观察者模式。策略模式开放给我们的是具体的功能实现,而观察者模式开放给我们的应该是某个操作完成后的处理。。。。才疏学浅 如有错误 还请指出。谢谢!
老师: 我看好多讲解策略模式的 都是有环境类来分发策略的,客户端应该不必知道具体的策略、或者说只知道策略标识即可,也就类似:一个请求过来,服务器自己负责选择使用策略。 望解答~
你写这个类是要给调用的客户端用的,不是给子类用的
工厂模式侧重于对象,策略模式侧重于过程(算法)
被我吃了。
『无忧PPT』PPT模板免费下载,PPT模板下载,PPT素材,PPT背景,PPT免费下载门户网站
http://www.51ppt.com.cn/