手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#策略模式(Strategy Pattern)实例教程
C#策略模式(Strategy Pattern)实例教程
摘要:本文以一个简单的实例来说明C#策略模式的实现方法,分享给大家供大家参考。具体实现方法如下:一般来说,当一个动作有多种实现方法,在实际使用时,...

本文以一个简单的实例来说明C#策略模式的实现方法,分享给大家供大家参考。具体实现方法如下:

一般来说,当一个动作有多种实现方法,在实际使用时,需要根据不同情况选择某个方法执行动作,就可以考虑使用策略模式。

把动作抽象成接口,比如把玩球抽象成接口。代码如下:

public interface IBall { void Play(); }

有可能是玩足球、篮球、排球等,把这些球类抽象成实现接口的类。分别如下:

public class Football : IBall { public void Play() { Console.WriteLine("我喜欢足球"); } } public class Basketball : IBall { public void Play() { Console.WriteLine("我喜欢篮球"); } } public class Volleyball : IBall { public void Play() { Console.WriteLine("我喜欢排球"); } }

还有一个类专门用来选择哪种球类,并执行接口方法:

public class SportsMan { private IBall ball; public void SetHobby(IBall myBall) { ball = myBall; } public void StartPlay() { ball.Play(); } }

客户端需要让用户作出选择,根据不同的选择实例化具体类:

class Program { static void Main(string[] args) { IBall ball = null; SportsMan man = new SportsMan(); while (true) { Console.WriteLine("选择你喜欢的球类项目(1=足球, 2=篮球,3=排球)"); string input = Console.ReadLine(); switch (input) { case "1": ball = new Football(); break; case "2": ball = new Basketball(); break; case "3": ball = new Volleyball(); break; } man.SetHobby(ball); man.StartPlay(); } } }

程序运行结果如下图所示:

C#策略模式(Strategy Pattern)实例教程1

希望本文所述对大家的C#程序设计有所帮助。

【C#策略模式(Strategy Pattern)实例教程】相关文章:

c#读取xml文件到datagridview实例

C# 委托(跨窗体操作控件)实例流程讲解

C#中通过API实现的打印类 实例代码

C#灰度化图像的实例代码

C# 调用Delphi dll 实例代码

C# 动画窗体(AnimateWindow)的小例子

c#简单读取文本的实例方法

C# 图片剪切与缩小的实例

ListView Adapter优化 实例

C# String Replace高效的实例方法

精品推荐
分类导航