一、含义 定义算法簇,分别封装,使其可以相互替换,此模式让算法的变化独立于使用算法的客户。 二、设计原则 找出应用中可能需要变化之处,把它们独立出来,不要和不需要变化的代码混合在一起。 针对接口编程,而不是针对实现编程。 多用组合,少用继承。 三、机智的Duck设计 代码: public interface QuackBehavior { //呱呱叫接口 public void quack(); } public class Squeak implements QuackBehavior{ //吱吱叫(接口实现) …