当前位置: 首页 > news >正文

合水网站建设wordpress shift+enter

合水网站建设,wordpress shift+enter,东莞网站制作的公司,网站域名所有权证明命令模式 1.命令模式含义 命令模式#xff0c;将一个请求封装为一个对象#xff0c;从而使你可用不同的请求对客户进行参数化。对请求排队或记录请求日志#xff0c;以及支持可撤销的操作。 命令模式乍一看#xff0c;有点懵懵的。即使这个定义看完#xff0c;也是不明…命令模式 1.命令模式含义 命令模式将一个请求封装为一个对象从而使你可用不同的请求对客户进行参数化。对请求排队或记录请求日志以及支持可撤销的操作。 命令模式乍一看有点懵懵的。即使这个定义看完也是不明所以。但是结合例子来讲的话就比较容易理解了。 其实它就是把一个类能做的事情使用具体的对象Command类来包装一下当客户端想调用某个方法的时候他需要通过具体的Command类来进行调用而不能直接实例化那个类然后调用类方法。这样的话就将类的调用和调用请求的发出者给相互隔离开解耦了。这样具体的请求执行者就不需要关注到底是谁发出的这个请求执行命令只需要把要执行的命令执行完即可。 比如现在路边有一个三轮车的烧烤摊烧烤摊只有一个老板负责点单、收款、烤肉、分发烤好的肉这些事情。那么这个老板其实就是行为实现者然后买烧烤的客人就是行为请求者。在这种情况下作为行为实现者的老板承担的事情职责就非常多客户与老板紧耦合了老板要处理的事情很多就非常容易出错混乱。 而如果换一种方式烧烤摊的老板赚到钱了不再使用三轮车了直接租了一个店面招了一个服务员来帮忙。这下客人来吃烧烤的时候就不用老板来负责点单、收款、分发烤肉的事情了这些事情交给服务员来干当客户需要烧烤的时候只需要由服务员告诉老板需要几串羊肉串、几串五花肉即可老板不需要知道这些烤串是哪个客户要的他只需要把这些烤串烤完交给服务员就行。这样老板和顾客就是松耦合了老板只需要接收服务员的命令即可有序、高效的完成烧烤订单。 这个行为请求者与行为实现者实现解耦的过程其实就是命令模式了。它将客人的请求封装对象由服务员统一接收服务员接收完这些命令对象后将命令对象转达给老板老板统一执行这些命令老板不需要关心谁发出的命令请求直接执行完命令即可这样就不会出现手忙脚乱的问题了。 2.代码示例 下面以烧烤为例展示一下命令模式的代码 2.1Receiver类 Receiver类是命令接受者对象定义了命令接受者可以做的事情 public class Receiver {public void bakeMutton(){System.out.println(烤羊肉);}public void bakeBeef(){System.out.println(烤牛肉);}public void bakeBread(){System.out.println(烤面包);}public void bakeLobster(){System.out.println(烤小龙虾);} }2.2Command类 Command类是命令抽象类定义了一个命令接受者对象以及命令执行的抽象方法 public abstract class Command {protected Receiver receiver;public Command(Receiver receiver) {this.receiver receiver;}public abstract void execute(); }2.3BakeBeefCommand类 BakeBeefCommand烤牛肉类是Command类的具体子类实现 public class BakeMuttonCommand extends Command{public BakeMuttonCommand(Receiver receiver) {super(receiver);}Overridepublic void execute() {receiver.bakeMutton();} }2.4BakeBreadCommand类 BakeBreadCommand烤面包类是Command类的具体子类实现 public class BakeBreadCommand extends Command{public BakeBreadCommand(Receiver receiver) {super(receiver);}Overridepublic void execute() {receiver.bakeBread();} }2.5BakeLobsterCommand类 BakeLobsterCommand烤小龙虾类是Command的具体子类实现 public class BakeLobsterCommand extends Command{public BakeLobsterCommand(Receiver receiver) {super(receiver);}Overridepublic void execute() {receiver.bakeLobster();} }2.6BakeMuttonCommand类 BakeMuttonCommand烤羊肉串类是Command的具体子类实现 public class BakeMuttonCommand extends Command{public BakeMuttonCommand(Receiver receiver) {super(receiver);}Overridepublic void execute() {receiver.bakeMutton();} }2.7Invoker类 Invoker类是具体命令的接收者用于接收客户的所有命令然后将命令转达给执行者执行这些命令 public class Invoker {private ListCommand command new ArrayList();public void setCommand(Command command) {this.command.add(command);}public void executeCommand(){for (Command comm : command) {comm.execute();}} }2.8测试类 public class MainApp {public static void main(String[] args) {Receiver receiver new Receiver();Command command new BakeMuttonCommand(receiver);Command breadCommand new BakeBreadCommand(receiver);Command lobsterCommand new BakeLobsterCommand(receiver);Invoker invoker new Invoker();invoker.setCommand(command);invoker.setCommand(breadCommand);invoker.setCommand(lobsterCommand);invoker.executeCommand();} }运行结果 烤羊肉 烤面包 烤小龙虾 3.命令模式优点 能够比较容易的设计一个命令队列在需要的情况下可以比较容易地将命令记入日志允许接收请求的一方决定是否要解决请求可以容易的实现对请求的撤销和重做容易扩展新的命令类能够把请求一个操作的对象与知道怎么执行一个操作的对象分隔开 4.总结 命令模式能够实现将请求发出者和请求执行者进行解耦便于实现请求的撤销、重做等操作。但是命令模式并不是一旦碰到类似情况的时候就要使用而是要在确定需要使用的时候再使用不要在自己猜测的基础上给系统增加不必要的功能不能为了用命令模式而用命令模式这点要考虑清楚。 这篇命令模式感觉写的有点模模糊糊的大家可以多看两遍示例代码理解一下。
http://www.zqtcl.cn/news/403008/

相关文章:

  • 粘贴以下代码到网站首页代码的与标签之间渭南软件开发
  • 企业网站建设必要性上海网站建设报价表
  • 陕西省建设厅申报网站一个主体如何添加网站
  • 做网站业务员提成几个点wordpress 地图导航代码
  • 软件下载网站排行住房和城乡建设部办公厅网站
  • 贵阳网站建设需要多少钱百度资源搜索平台
  • 做安全防护信息的网站wordpress初始密码
  • 广东企业网站seo哪里好微信公众号怎么创建文章
  • 建行网站登录不了wordpress好主题
  • 南屏网站建设湖北省建设厅的网站
  • 有没有做花卉种子的网站啊正规网站建设服务
  • 长沙网站建设公司招聘那个建设网站好
  • 网站开发视频下载网站优化关键词排名自己怎么做
  • 网站建设 流程咸宁网站建设哪家好
  • 建站公司兴田德润实惠钦州建设局网站
  • 高新区免费网站建设旅游网站开发设计与实现
  • 怎样做才能让网站帮忙送东西线上推广方案怎么做
  • 服装公司网站网页设计友情链接交换网站
  • 公司建设网站需要去哪报备网页挂马
  • 做网站需要代码吗秦皇岛在哪里
  • 番禺网站设计公司万网查询全部域名
  • 电子商务网站建设与运营的试题集团高端网站
  • 天津网站建设电话网页制作与设计调试分析
  • 深圳中建南方建设集团网站自己的网站建设
  • 有些网站怎么经常换域名北京宣传片制作公司
  • 网站改版降权多久恢复经典网站
  • 南昌建网站的公司中国专业做鞋子的网站
  • 做100个垂直网站网站建设外包
  • 网站开发图片素材营销软文的范文
  • 手机网站免费建设排行湖南公司响应式网站建设价位