3、模板方法模式
一、模板方法模式,简单的说就是在一个上层的抽象类中,定义了一些操作的抽象方法,有一个总体的方法组织了怎么去调用这个操作方法,而操作方法的具体实现由子类去实现,达到抽取公共部分放在父类模板中,子实现各自己不对的部分
public abstract class AbstractTemplate { protected virtual void Init() { Console.WriteLine("init data"); } protected abstract void Step1(); protected abstract void Step2(); protected abstract void Step3(); protected virtual void Save() { Console.WriteLine("Save Data"); } public void Run() { Init(); Step1(); Step2(); Step3(); Save(); } } public class DoA : AbstractTemplate { protected override void Init() { Console.WriteLine("DoA init data"); base.Init(); } protected override void Step1() { Console.WriteLine("DoA Step1"); } protected override void Step2() { Console.WriteLine("DoA Step2"); } protected override void Step3() { Console.WriteLine("DoA Step3"); } } public class DoB : AbstractTemplate { protected override void Step1() { Console.WriteLine("DoB Step1"); } protected override void Step2() { Console.WriteLine("DoB Step2"); } protected override void Step3() { Console.WriteLine("DoB Step3"); } protected override void Save() { Console.WriteLine("DoB Save data"); } }