设计模式-策略模式
2014-09-27 11:54
211 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CSharp { class Program { public abstract class Duck { protected FlyBehavior flyBehavior; public FlyBehavior _FlyBehavior { get { return flyBehavior; } set { flyBehavior = value; } } public Duck() { } public abstract void Display(); public void PerformFly() { flyBehavior.Fly(); } } public interface FlyBehavior { void Fly(); } public class FlyWithWings: FlyBehavior { public void Fly() { Console.WriteLine("I am flying!"); } } public class FlyNoWay: FlyBehavior{ public void Fly() { Console.WriteLine("I cannot fly!"); } } public class SimpleDuck : Duck { public SimpleDuck() { flyBehavior = new FlyWithWings(); } public override void Display() { Console.WriteLine("I just a duck!"); } } public static void Test() { Duck simpleDuck = new SimpleDuck(); simpleDuck.Display(); simpleDuck.PerformFly(); simpleDuck._FlyBehavior = new FlyNoWay(); simpleDuck.PerformFly(); } static void Main(string[] args) { Test(); } } }
相关文章推荐
- 设计模式之Strategy(策略)
- 设计模式之策略模式(strategy)--游戏角色使用武器
- [设计模式] 23.Strategy 策略模式
- [★] .NET 偶尔连接的设计策略 -联机状态- 脱机模式- 数据同步
- 设计模式袖珍版 连续转载之 - Strategy(策略)
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
- 设计模式随笔系列:鸭子-策略模式(Strategy)[原]
- 设计模式之Strategy(策略)
- 设计模式之策略模式探讨初步[引]
- 设计模式随笔系列:鸭子-策略模式(Strategy)[转]
- 设计模式之Strategy(策略)
- Java设计模式学习之一---策略模式
- AspectJ实现设计模式(二)——策略模式
- 设计模式之策略模式探讨初步
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式与泡mm的关系之strategy策略模式及再思考
- 设计模式之Strategy(策略)
- 设计模式随笔系列:鸭子-策略模式(Strategy)
- 设计模式(20)-策略模式(Strategy)