2011-11-23 72 views
1

在阅读有关设计模式时,我发现战略优于模板的优点是它允许您在运行时封装算法并调用它们,而模板依赖于子类化。但模板具有通过子分类最大化代码重用的优势。因此,应用DRY原则的模板是更好的模式。但是,如何停止使用策略模式,并在算法实现中使用模板模式来共享每个算法之间通用的代码,或者这是一个坏主意?战略与模板

回答

1

没有什么能够阻止这两种模式的组合。使用策略使您的算法可选,并使用模板方法实现它们,以重用算法的常见部分。

在现实生活中,模式经常被组合在一起,一个班级可以参与多种模式,并且具有不同的角色。