命令模式-1.基本概念/适用场景

本文通过一个快餐店点餐的例子,介绍了命令模式的基本概念及其适用场景。命令模式将请求封装为对象,以便使用不同的请求、队列或者日志来参数化其他对象,支持可撤销的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>
<head>
    <title>命令模式的基本概念</title>
</head>
<body>

</body>
<script type="text/javascript">
    /*
    假设有一个快餐店,而我是该餐厅的点餐服务员,那么我一天的工作应该是这样的:当某位
客人点餐或者打来订餐电话后,我会把他的需求都写在清单上,然后交给厨房,客人不用关心是
哪些厨师帮他炒菜。我们餐厅还可以满足客人需要的定时服务,比如客人可能当前正在回家的路
上,要求 1个小时后才开始炒他的菜,只要订单还在,厨师就不会忘记。客人也可以很方便地打
电话来撤销订单。另外如果有太多的客人点餐,厨房可以按照订单的顺序排队炒菜。
这些记录着订餐信息的清单,便是命令模式中的命令对象。
    */
    /*
    适用场景:
        命令模式最常见的应用场景是:有时候需要向某些对象发送请求,但是并不知道请求的接收
者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。

    拿订餐来说,客人需要向厨师发送请求,但是完全不知道这些厨师的名字和联系方式,也不
知道厨师炒菜的方式和步骤。 命令模式把客人订餐的请求封装成 command 对象,也就是订餐中的
订单对象。这个对象可以在程序中被四处传递,就像订单可以从服务员手中传到厨师的手中。这
样一来,客人不需要知道厨师的名字,从而解开了请求调用者和请求接收者之间的耦合关系。
    */
</script>
</html>

 

转载于:https://www.cnblogs.com/hanhui66/p/7110802.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值