命令模式,先占位,由于文章太耗时,后面补上。

using System;
using System.Collections.Generic;
using System.Linq;namespace SimpleFactory
{class Program{static void Main(string[] args){服务员 servicer = new 服务员();马师傅 shifu = new 马师傅();var work1 = new 烧菜(shifu, "酸菜鱼");servicer.客人下单(work1);servicer.下达命令();Console.WriteLine();老板娘 boss = new 老板娘();张阿姨 ayi = new 张阿姨();var work2 = new 收拾(ayi);boss.赶紧干活(work2);boss.下达命令();}}/// <summary>/// 命令接收者接口/// </summary>public interface 厨师{void 制作(string 菜);}public class 刘师傅 : 厨师{public void 制作(string 菜){Console.WriteLine($"做出了一道香喷喷的菜:{菜}");}}public class 马师傅 : 厨师{public void 制作(string 菜){Console.WriteLine($"做出了一道香喷喷的菜:{菜}");}}/// <summary>/// 后勤人员接口,如洗碗工、扫地阿姨/// </summary>public interface 后勤{void 作业();}public class 孙阿姨 : 后勤{public void 作业(){Console.WriteLine($"扫啊扫,地板扫得很干净了");}}public class 张阿姨 : 后勤{public void 作业(){Console.WriteLine($"洗啊洗,今天碗太多了,还在不停的洗碗中。。。");}}public interface 命令{void 执行命令();}public abstract class 命令控制中心 : 命令{protected 命令控制中心() { }public abstract void 执行命令();}public class 烧菜 : 命令控制中心{private 厨师 _厨师;private string _需要做的菜;public 烧菜(厨师 厨师, string 菜){this._厨师 = 厨师;this._需要做的菜 = 菜;}public override void 执行命令(){Console.WriteLine($"{this._厨师.GetType().Name}接到了指令");this._厨师.制作(this._需要做的菜);}}public class 收拾 : 命令控制中心{private 后勤 _后勤;public 收拾(后勤 后勤){this._后勤 = 后勤;}public override void 执行命令(){Console.WriteLine($"{this._后勤.GetType().Name}接到了指令");this._后勤.作业();}}public class 服务员{private 命令 _command;public void 客人下单(命令 command){this._command = command;}public void 下达命令(){this._command.执行命令();}}public class 老板娘{private 命令 _command;public void 赶紧干活(命令 command){this._command = command;}public void 下达命令(){this._command.执行命令();}}
}

C#面向对象设计模式14:命令模式(Command)相关推荐

  1. 乐在其中设计模式(C#) - 命令模式(Command Pattern)

    原文:乐在其中设计模式(C#) - 命令模式(Command Pattern) [索引页] [源码下载] 乐在其中设计模式(C#) - 命令模式(Command Pattern) 作者:webabcd ...

  2. 设计模式之命令模式(Command)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  3. 设计模式 笔记 命令模式 Command

    //---------------------------15/04/25---------------------------- //Conmmand  命令模式----对象行为型模式 /* 1:意 ...

  4. 经典的设计模式14——命令模式

    文章目录 命令模式 命令模式 定义:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开,这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储.传递.调用.增加与管理. 结构: 抽 ...

  5. 【白话设计模式八】命令模式(Command)

    为什么80%的码农都做不了架构师?>>>    #0 系列目录# 白话设计模式 工厂模式 单例模式 [白话设计模式一]简单工厂模式(Simple Factory) [白话设计模式二] ...

  6. 设计模式:命令模式(Command Pattern)

    命令模式(Command Pattern): 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接受者是谁,也不知道请求的操作是哪个. 我们只需在程序运行时指定具体的请求接受者即可,此时 ...

  7. 设计模式 - 命令模式(command pattern) 撤销(undo) 具体解释

    命令模式(command pattern) 撤销(undo) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 參考命令模式: http://blog.cs ...

  8. c++命令模式command

    c++命令模式command 概念 角色和职责 案例 概念 Command模式也叫命令模式 ,是行为设计模式的一种.Command模式通过被称为 Command的类封装了对目标对象的调用行为以及调用参 ...

  9. 设计模式 之 命令模式

    2019独角兽企业重金招聘Python工程师标准>>> 设计模式 之 命令模式 命令模式比较简单,不过多赘述 为什么需要命令模式 将"行为请求者"与"行 ...

  10. 面向对象设计模式之策略模式

    面向对象设计模式之策略模式 1.策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户 2.抽象鸭子类,鸭子飞行行为在此处类似于算法族 1 package ...

最新文章

  1. 对学习编译原理的看法
  2. Dubbo原理何源码解析之服务暴露
  3. 台3岁女童疑把玩风枪致死案疑点多 警方将调查厘清
  4. sift的java实现解述
  5. 不用卷积也能生成清晰图像,用两个Transformer构建一个GAN
  6. Https协议基本分析
  7. jMeter 里如何使用 properties
  8. export和export default的区别
  9. .NET Core 2.0 单元测试中初识 IOptionsMonitoramp;lt;Tamp;gt;
  10. 查看mysql 中建立的表空间_mysql 表空间及索引的查看
  11. php继承和重载区别,php继承中方法重载(覆盖)的应用场合
  12. 服务器网站管理页面打不开解决方法
  13. 计算SharePoint两个日期和时间字段之间的时间差值
  14. 华为否认今年将推出搭载鸿蒙系统手机;苹果或在 3 年内推出 5G 基带芯片;Node.js 12.12.0 发布 | 极客头条...
  15. 转:理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
  16. 写一段最短的代码,用上js所有关键字
  17. 不能编辑access_vcf通讯录编辑器 v3.1.6 vcf通讯录编辑器软件
  18. 转:Oracle数据库一致性读的原理(Consistent Read)
  19. 利用VBB仿真——实现数码管色子
  20. 微信h5页面中下载app(apk)的解决方案

热门文章

  1. Linux 服务器数据同步
  2. 美游客猛增 中国在纽约推介新“丝绸之路”旅游
  3. 听见丨捷豹路虎将于2020年推出无人驾驶汽车,已开始测试 腾讯信用分开始启用
  4. html如何引入JavaScript代码
  5. linux下的arp防火墙 ---- shadaarp
  6. 平安金融壹账通登顶中文机器阅读理解CMRC竞赛榜单
  7. 一个冲压工厂的的产能应如何计算?
  8. 必须了解的服务器基础知识
  9. 如何在Windows上的VMware上安装macOS High Sierra Final
  10. CreateFile 函数