BЈо*_*вић 7 c++ design-patterns
几年前,我曾经创建过这样的接口:
class Base
{
public:
virtual ~Base
{
}
void foo()
{
doFoo();
}
private:
virtual void doFoo() = 0;
};
Run Code Online (Sandbox Code Playgroud)
然后派生的将是:
class Derived : public Base
{
public:
virtual ~Derived()
{
}
private:
virtual void doFoo()
{
}
};
Run Code Online (Sandbox Code Playgroud)
我确信我在某处看到这是一种设计模式,但现在我无法在任何地方找到它,也无法记住它是如何调用的.
那么,这种设计模式如何称呼?
这是模板方法模式.维基百科的相关摘录:
模板方法定义算法的程序框架.子类可以覆盖一个或多个算法步骤,以允许不同的行为,同时确保仍然遵循总体算法.
我已经看到这种模式用了很多来"强制"调用基类实现(通常必须在派生类中明确地完成).
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |