Mega Code Archive

 
Categories / C# Tutorial / Design Patterns
 

Strategy Pattern

using System;   public abstract class Strategy   {     public abstract void MyRule();     public Strategy(){;}   }   public class CorporateStrategy: Strategy   {          public override void MyRule()     {       Console.WriteLine("Corporate.");     }     public CorporateStrategy(){;}   }   public class CreditSalesContext   {     Strategy aStrategy;          public CreditSalesContext (Strategy crStrategy)     {       this.aStrategy = crStrategy;     }     public void BusinessRule()     {       this.aStrategy.MyRule();     }   }   public class DealerStrategy: Strategy   {          public override void MyRule()     {       Console.WriteLine("Dealer.");     }          public DealerStrategy(){;}   }   class Client{     static void Main(string[] args){       CreditSalesContext cr = new CreditSalesContext(new CorporateStrategy());       cr.BusinessRule();     }   }