Template Method模式实现和使用起来都比较简单,但是不是很灵活。
Strategy模式非常灵活但是必须得多创建一个类(接口)、多实例化一个对象(具体算法实现)并把这个额外对象配置到系统中。
因此对于Template Method模式和Strategy模式的选择,要看是需要Strategy模式的灵活性还是需要Template Method模式的简单性。通常我会选择Template Method模式,仅仅因为它更易于实现和使用。
Template Method模式实现和使用起来都比较简单,但是不是很灵活。
Strategy模式非常灵活但是必须得多创建一个类(接口)、多实例化一个对象(具体算法实现)并把这个额外对象配置到系统中。
因此对于Template Method模式和Strategy模式的选择,要看是需要Strategy模式的灵活性还是需要Template Method模式的简单性。通常我会选择Template Method模式,仅仅因为它更易于实现和使用。