web命令模式的动机是什么
今天小编给大家分享一下web命令模式的动机是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
创新互联公司是一家集网站建设,芝罘企业网站建设,芝罘品牌网站建设,网站定制,芝罘网站建设报价,网络营销,网络优化,芝罘网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
意图
将一个请求封装为对象,以便构建、传递和调用。这里的请求可以是动作或事务。
动机
有时知道需要对某些接收者提交请求,但并不知道具体要向哪一个接受者提出该请求。下面以很多应用程序中出现的菜单为例进行说明。在设计菜单的时候,虽然清楚地知道需要做什么,但是作为这些菜单的操作对象的数据有可能还没有生成。
解决方法首先定义封装菜单动作的抽象类Command,它定义执行该动作的Execute操作。在具象Command类的Execute操作中,接收者会执行该请求。一个常用的做法是,把接受者作为具象Command类的实例变量(C++中的数据成员)来管理。
上图是在应用程序菜单功能中使用Command时的示例。Application管理一个Menu实例,而Menu实例又管理若干MenuItem实例。每个MenuItem代表一个菜单项。于此同时,Application还会管理一个Document实例,用以表达打开的文档。
为实现菜单项的动态配置,软件让每个MenuItem持有一个Command类型的实例变量。当用户选择某个菜单项时,对应的MenuItem就会调用对应的Command对象的Execute方法。因为Command成员的类型为基类类型,因此MenuItem并不知晓Command成员到底属于那个子类。
另外一个OpenCommand的功能是为Application打开一个新文档。它的接收者是Application本身,是整个应用中第一个创建的对象。当Application创建该MenuItem时,可以以自己的引用直接作为参数传递给OpenCommand的构造函数。当用户选择OpenDocument菜单项的时候,OpenCommand在自己的Execute方法中调用Application的方法以打开新文档。
PasteCommand和OpenDocument这两个Command的具象类具有相同的Execute接口,但在其内部面对不同接收者执行完全不同的操作。
以上就是“web命令模式的动机是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。
文章标题:web命令模式的动机是什么
转载来源:http://cdiso.cn/article/gehhop.html