策略模式(strategy)行为型模式c#简单例子
来源:互联网 发布:关系数据库的基本概念 编辑:程序博客网 时间:2024/06/18 09:15
策略模式(strategy)行为型模式c#简单例子
例子主是运用策略模式分解几种移动算法。
namespace adapterpattern{ public partial class StrategyFrom : Form { public StrategyFrom() { InitializeComponent(); } private void btnDisplay_Click(object sender, EventArgs e) { Context context1 = new Context(new LeftMove ()); context1.moveMethod1(); listBox1.Items.Add(moveData.moveString ); context1.moveMethod2(); listBox1.Items.Add(moveData .moveString ); Context context2= new Context(new RightMove());//算法变动后 context2.moveMethod1(); listBox1.Items.Add(moveData.moveString); context2.moveMethod2(); listBox1.Items.Add(moveData.moveString); } } public interface IProessMove//表达算法抽象(strategy) { void Process(); } public class Context { IProessMove proessMove;//对象组合 public Context(IProessMove proessMove)//策略模式的连接点 { this.proessMove = proessMove; } public void moveMethod1() { proessMove.Process(); moveData.moveString += "方法1;"; } public void moveMethod2() { proessMove.Process(); moveData.moveString += "方法2;"; } } public class moveData//移动算法中用到数据 { public static string moveString { set; get; } } public class LeftMove : IProessMove//移动算法1 { public void Process() { moveData . moveString = "左移动算法"; } } public class RightMove : IProessMove//移动算法2 { public void Process() { moveData.moveString = "右移动算法"; } } public class TopMove : IProessMove//移动算法3 { public void Process() { moveData.moveString = "向上移动算法"; } } }
此文件由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
1 0
- 策略模式(strategy)行为型模式c#简单例子
- 行为型模式-策略(strategy)
- 行为型模式--策略模式(Strategy)
- 行为型模式-----策略模式(Strategy)
- [设计模式-行为型]策略模式(Strategy)
- 行为型模式-Strategy ( 策略模式 )
- 行为型模式-策略模式strategy
- Strategy模式(策略模式 行为型)
- Strategy 策略模式 --对象行为型模式
- 行为模式 - 策略模式(Strategy)
- 策略模式Strategy(对象行为型)
- 设计模式--行为型-Strategy(策略)
- 策略模式 Strategy (行为型)
- 策略模式Strategy(对象行为型)
- 策略模式Strategy(对象行为型)
- 策略模式Strategy(对象行为型)
- 策略模式Strategy(对象行为型)
- 行为型模式之策略STRATEGY
- 手机客户端版csdn搜索
- Python 静态方法 类方法
- ASCII码表
- 开始了
- 一些有用的实例
- 策略模式(strategy)行为型模式c#简单例子
- html中inline与block的细节对比
- 开放平台之我见
- 面试一些有用的
- 大数据浅析
- 中国计算机学会推荐国际学术刊物
- _minimum_giga_scn恢复数据库一例
- 初学java——关于数组容易忽视的地方总结
- matlab入门教程