Csharp/CSharp Tutorial/Design Patterns/Template Pattern
Template Method Pattern
<source lang="csharp">using System;
public abstract class Window { public abstract void PositionLabel(); public void SetupWindowFace() { this.PositionLabel(); } public Window(){;} } public class WindowDeluxe: Window { public override void PositionLabel() {Console.WriteLine("center.");} public WindowDeluxe(){;} } public class WindowStandard:Window { public override void PositionLabel(){;} public WindowStandard() {;} } class Client { static void Main(string[] args) { Window delWindow = new WindowDeluxe(); delWindow.SetupWindowFace(); Window stdWindow = new WindowStandard(); stdWindow.SetupWindowFace(); } }</source>