Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 模板方法模式的关键策略是什么_Design Patterns_Template Method Pattern - Fatal编程技术网

Design patterns 模板方法模式的关键策略是什么

Design patterns 模板方法模式的关键策略是什么,design-patterns,template-method-pattern,Design Patterns,Template Method Pattern,在一次采访中,我被问及模板法模式的关键策略。我回答了继承问题。这是正确的答案吗?如果有人能指引我正确的方向?提前感谢。模板方法是一种模式,它可以提供一种极好的方法,使逻辑集中在基类中,而派生类则填充只有他们知道的特定细节。因此,我认为它的一个关键策略是避免逻辑的重复 然而,它也有它的缺点。只有一篇文章详细介绍了其中的一些 与所有设计模式一样,它有时间和地点,但必须适当使用。这个问题似乎离题了。它可能属于关键战略,意味着“实施这一战略需要担心什么”。你确定他们没有问你关键的优势吗?如果是这样的话,

在一次采访中,我被问及模板法模式的关键策略。我回答了继承问题。这是正确的答案吗?如果有人能指引我正确的方向?提前感谢。

模板方法是一种模式,它可以提供一种极好的方法,使逻辑集中在基类中,而派生类则填充只有他们知道的特定细节。因此,我认为它的一个关键策略是避免逻辑的重复

然而,它也有它的缺点。只有一篇文章详细介绍了其中的一些


与所有设计模式一样,它有时间和地点,但必须适当使用。

这个问题似乎离题了。它可能属于关键战略,意味着“实施这一战略需要担心什么”。你确定他们没有问你关键的优势吗?如果是这样的话,你的回答“继承”是有意义的,如果不是的话,我不这么认为。请注意,继承本身也不是一种优势。@user2504380他们询问了一些关键策略。“避免逻辑重复”你能解释一下吗?假设你有一个基类和一些派生类来模拟一个概念。如果这个概念在每个衍生产品中的行为略有不同,那么您可以选择如何实现它。每个派生只能重写基类中的一个方法,然后提供它们的具体实现。然而,如果每个实现只对一些特定于派生的位执行基本相同的操作,那么将有大量重复。您可以将共享逻辑推送到基类中,从而无需在派生类中复制它。然后模板方法完成其余的工作。