需要设计模式建议

Tol*_*men 4 c# oop inheritance design-patterns

我需要一个编程模式,但我无法弄清楚它会是什么.我甚至不确定我想要的是否可能.假设我有一个Class A继承自的10类A.我想要的是调用Method Print()在每个继承的类上实现不同的相同方法,但是所有这些方法都需要重复相同的方法Class A.

Class A
{
    public virtual void Print()
    { 
    }
    protected void StartingProcedure()
    {
        /// something 
    }
    protected void EndingProcedure()
    {
        /// something 
    }
}

Class A_1 : A
{
    public override void Print()
    {
        StartingProcedure();
        /// class specific print operation
        EndingProcedure();
    }
}

Class A_2 : A
{
    public override void Print()
    {
        StartingProcedure();
        /// class specific print operation
        EndingProcedure();
    }
}
Run Code Online (Sandbox Code Playgroud)

如你所见,我不想继续写StartingProcedure();每个被覆盖的Print方法.我希望自动执行该过程,当我继承一个新类时,A我不想介意启动和结束过程,我只想编写特定于类的打印操作.是否有任何模式可以为我提供这种类行为?

顺便说一句,我使用C#

Rik*_*Rik 9

Class A
{
    public void Print()
    { 
        StartingProcedure();
        SpecificPrint();
        EndingProcedure();
    }
    protected void StartingProcedure()
    {
        /// something 
    }
    protected void EndingProcedure()
    {
        /// something 
    }
    protected virtual SpecificPrint() // could possibly be abstract
    {
    }
}

Class A_1 : A
{
    public override void SpecificPrint()
    {
        /// class specific print operation
    }
}

Class A_2 : A
{
    public override void SpecificPrint()
    {
        /// class specific print operation
    }
}
Run Code Online (Sandbox Code Playgroud)