java设计模式之策略模式

     设计一个Duck父类,其有swim,run方法,所有鸭子都会游泳和run,新添加fly方法,继承它的子类有的不会飞,如果把fly设计在父类中,让子类去复写则代码在子类中重复,运行时行为不容易改变,很难知道所有鸭子的行为,改变会其一发而动全身,显然不合理。如果将fly设计成一个接口,只有会飞的鸭子才能实现该接口,如果子类数量很多,又犯了代码无法复用的毛病,所以考虑用该模式。

oo基础:抽象,封装,多态,继承

oo原则:封装变化,多用组合,针对接口编程,不针对实现编程。

oo模式:

策略模式:定义算法族,分别封装起来,让他们可以互相替换,此模式让算法的变化独立于使用算法的客户。

例子代码链接:http://download.csdn.net/detail/u010095768/6454685

你可能感兴趣的:(java设计模式之策略模式)