首页 > TAG信息列表 > flyBehavior
设计模式——策略模式
转载来自:https://www.cnblogs.com/xinxue/p/5271184.html 1 会飞的鸭子 Duck 基类中,有成员函数 Swim() 和 Display() class Duck { public: void Swim(); virtual void Display(); }; 派生类野鸭 MallardDuck,橡皮鸭 RubberDuck 和 红头鸭 RedheadDuck,外形不一,须策略模式笔记
什么情况下使用策略模式? 有很多个类。这些类的区别只在于某个行为不同。 场景应用举例 购买火车车票时,同样的车位,选择成人票,学生票。去上班过程选择使用自行车,步行,公交车等。 解决问题 解决将所有算法写在主程序中使用大量的if…else语句。 假设有老板叫你写一个需求,第1年3月17日 head first 策略模式
1. public abstract class Duck { FlyBehavior flyBehavior; QuackBehavior quackBehavior; public abstract void display(); public void performFly(){ flyBehavior.fly(); } public void performQuack(){ quackBehavior.quack()Java设计模式--策略模式
《Head First设计模式》看了一部分才对设计模式有了初步的了解:它其实是开发过程中很多前人的经验与智慧的总结,帮助你在开发时采取更好的方式去设计各个类、方法、以及它们之间的调用、实现方式,让代码保持灵活性的同时又能更好地复用。基于学过一块知识一定要用文字记录、总结head first设计模式第一章读书笔记--策略模式
策略模式思想核心思想,分离变与不变。例如原先我们设计了一个动物园系统,这个是个动物园是个不正经的动物园,只有鸭子,比如绿头鸭,塑料玩具鸭,木头鸭子等等。原先的系统已经设计好了,系统中有各种鸭子继承了Duck,并有一个方法swim(假设所有鸭子都会游泳)类图如下: 要知道,作为程序员,肯