1. 程式人生 > >一看就懂的設計模式(四,策略模式)

一看就懂的設計模式(四,策略模式)

namespace DiagramMode {     class Program     {         static void Main(string[] args)         {             Context c ;             //根據需求執行某一個策略             c= new Context(new StrategyA());             c.RunStrategyFunc();             Console.ReadLine();         }     }     /// <summary>     /// 定義抽象策略類。     /// </summary>     public abstract class Strategy     {         public abstract void StrategyFunc();     }     //具體策略類     public class StrategyA : Strategy     {         public override void StrategyFunc()         {             Console.WriteLine("執行具體策略A方法");         }     }     public class StrategyB : Strategy     {         public override void StrategyFunc()         {             Console.WriteLine("執行具體策略B方法");         }     }      /// <summary>      /// 連線上下文,提供給客服端呼叫,根據傳入的策略執行當前的策略方法      /// </summary>     public class Context     {         Strategy currStrategy;         public Context(Strategy stra)         {             currStrategy = stra;         }         /// <summary>         /// 執行當前具體的一個策略的方法         /// </summary>         public void RunStrategyFunc()         {             currStrategy.StrategyFunc();         }     } }