这个继承设计模式的名称是什么?

4

不要使用公共的虚方法,而是使用公共的密封方法来调用受保护的虚方法。代码示例如下:

public class Test {

    public void DoStuff(){
        // Do stuff here...
        ProtectedDoStuff();
        // Do more stuff...
    }

    protected virtual void ProtectedDoStuff(){
        // Do stuff...
    }
}

替换为:

public class Test {

    public virtual void DoStuff(){
        // Do stuff here...
        // Do a lot of stuff...
        // Do more stuff...
    }
}

public class Test2 : Test {

    public override void DoStuff(){
        // Do same stuff as base
        // Do different stuff
        // Do more stuff just like base
    }
}

这样做可以避免在每次需要时重新实现公共方法的所有功能。 我知道这个问题已经在stackoverflow上被问过了,但我找不到这个问题。

1
这被称为"模板方法模式" - Yuval Itzchakov
1个回答

4
这是模板方法模式。来自维基百科:
模板方法模式是一种行为设计模式,它在一个名为模板方法的方法中定义算法的程序框架,将某些步骤推迟到子类中。它允许重新定义算法的某些步骤而不改变算法的结构。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接