Template method Model C # Simple Example
Important: Skeleton, step delay to sub-class
Example builds the player skeleton part, the action from delay to subclass to do
namespace adapterpattern{public partial class Templatemethodform:form {public Templatemethodform () {InitializeComponent (); private void Btndisplay_click (object sender, EventArgs e) {Play P1 = new Play1 (); P1. Run (); LISTBOX1.ITEMS.ADD (basedata.displaystring); Play P2 = new Play2 (); basedata.displaystring = ""; P2. Run (); LISTBOX1.ITEMS.ADD (basedata.displaystring); }} public static class basedata//data broker {public static string displaystring {get; set;} public static int Enemynumber {get; set;} } public abstract class play//template {//skeleton protected abstract void start (); protected abstract void Move (); protected abstract void Stop (); public void Run () {start ();//deferred to sub-class move (); Stop (); }} public class play1:play//implement template Method 1 { protected override void Start () {basedata.displaystring + = "Player 1 starts running ...."; } protected override void Move () {basedata.displaystring + = "Move ..."; } protected override void Stop () {basedata.displaystring + = "Stop running ..."; }} public class play2:play//implementation Template Method 1 {protected override void Start () {Basedata.disp Laystring + = "Player 2 starts running ..."; } protected override void Move () {basedata.displaystring + = "Move ..."; } protected override void Stop () {basedata.displaystring + = "Stop running ..."; } }}
Template method Model C # Simple Example