应用场景:
在软件的设计中,通常软件的结构是相对固定的,但是子步骤是相对变化的,即算法的骨架是固定,实现延迟到子类中实现。
实现代码:
class Program { static void Main(string[] args) { VehicaltestFramework.DoTest(new HongqiCar()); } } // 框架开发者-先开发 public abstract class Vehical { // 这些方法可以实现或者是不实现,根据具体的应用 // 来决定。 public abstract void Startup(); public abstract void Run(); public abstract void Turn(int degree); public abstract void Stop(); public void Test() { this.Startup(); this.Run(); this.Stop(); } } class VehicaltestFramework { public static void DoTest(Vehical vehical) { vehical.Test(); } } // 应用程序开发人员-晚开发 class HongqiCar : Vehical { protected override void Startup() { } protected override void Run() { } protected override void Turn(int degree) { } public override void Stop() { } }