首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >它是“策略”模式还是“模板方法”模式?

它是“策略”模式还是“模板方法”模式?
EN

Stack Overflow用户
提问于 2021-07-13 03:49:38
回答 1查看 53关注 0票数 0

我最近开始学习模式,我看到了很多像这样的策略模式的实现,但我的前辈朋友说,这是“模板方法”模式的实现。请帮助我确定适用于以下代码的设计模式:

代码语言:javascript
复制
interface IAnimal {
    void MakeSound();
}

class Dog : IAnimal {
    void MakeSound() {
        Console.WriteLine("hoof");
    }
}

class Cat : IAnimal {
    void MakeSound() {
        Console.WriteLine("meow");
    }
}

class Cow : IAnimal {
    void MakeSound() {
        Console.WriteLine("moo");
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-07-13 03:57:42

这两种模式都不是;事实上,它根本不是一种模式。

策略模式将需要一个依赖于IAnimal进行其他操作的“上下文”类,而模板方法模式将使用一些公共实现代码来调用来自子类的可覆盖方法。

您的代码说明了继承的概念,它是您提到的两种模式的公共构建块。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68353189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档