设计模式之命令模式(Command Pattern)
1.概念
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。
2.类图

3.调用代码
Use objUse = new Use();
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "1", Name = "操作1" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "2", Name = "操作2" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "3", Name = "操作3" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "4", Name = "操作4" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "5", Name = "操作5" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "6", Name = "操作6" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "7", Name = "操作7" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "8", Name = "操作8" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "9", Name = "操作9" }, Action.Add));
this.listBox1.Items.Add(objUse.Do(new Model() { ID = "10", Name = "操作10" }, Action.Add));
this.listBox1.Items.Add(objUse.Undo(4));//撤销4次
this.listBox1.Items.Add(objUse.Undo(2));//撤销2次
this.listBox1.Items.Add(objUse.Undo(1));//撤销1次
4.输出结果

本文详细阐述了命令模式的基本概念,并通过实例代码展示了如何在编程中使用该模式来参数化请求、记录日志及实现可撤销操作。通过实践代码演示,读者可以掌握命令模式的运用技巧。
330

被折叠的 条评论
为什么被折叠?



