1、strategy统一的接口,实现的算法不同,但结果是一样的,通过组合(委托)的方式,将抽象接口的具体实现委托给组合对象实现;
2.template通过继承的方式将逻辑(算法)框架(不变行为)放在抽象基类中(去除子类中的代码重复),子类中实现特定的细节。但是有一个缺点就是其他类不能复用该子类。而strategy通过组合方式可以复用;
2.template通过继承的方式将逻辑(算法)框架(不变行为)放在抽象基类中(去除子类中的代码重复),子类中实现特定的细节。但是有一个缺点就是其他类不能复用该子类。而strategy通过组合方式可以复用;