C#策略模式(Strategy Pattern)实例教程
程序员文章站
2023-12-16 23:07:58
本文以一个简单的实例来说明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#程序设计有所帮助。
推荐阅读
-
C#策略模式(Strategy Pattern)实例教程
-
C#对象为Null模式(Null Object Pattern)实例教程
-
C#单例模式(Singleton Pattern)实例教程
-
C#装饰器模式(Decorator Pattern)实例教程
-
C#模板方法模式(Template Method Pattern)实例教程
-
C#备忘录模式(Memento Pattern)实例教程
-
C#命令模式(Command Pattern)实例教程
-
C#设计模式之Strategy策略模式解决007大破密码危机问题示例
-
C#复合模式(Composite Pattern)实例教程
-
C#单例模式(Singleton Pattern)详解