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

芜湖网站建设兼职电商行业网站建设及维护

芜湖网站建设兼职,电商行业网站建设及维护,广州建设水务局网站,销售行业怎样做网站设计模式--行为型--命令模式 命令模式定义结构案例优缺点使用场景 命令模式 定义 将一个请求封装为一个对象#xff0c;使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通#xff0c;这样方便将命令对象进行存储#xff0c;传递#xff0c;调用… 设计模式--行为型--命令模式 命令模式定义结构案例优缺点使用场景 命令模式 定义 将一个请求封装为一个对象使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通这样方便将命令对象进行存储传递调用增加与管理。 结构 抽象命令类Command角色定义命令的接口声明执行的方法。具体命令Concrete Command角色具体的命令实现命令接口通常会持有接收者并调用接受者的功能来完成命令要执行的操作。接收者Receiver角色接收者真正执行命令的对象。任何一个类都可能成为一个接收者只要它能够实现命令要求实现的相应功能。请求者Invoke角色要求命令对象执行请求通常会持有命令对象可以持有很多的命令对象。这个使客户端真正出发命令并要求命令执行相应操作的地方也就是相当于使用命令对象的入口。 案例 饭店点餐顾客把订单给服务员服务员把订单给厨师厨师做菜。 服务员请求者由她向厨师发起命令厨师接收者真正执行命令的对象订单命令中包含订单 类图 /*** 抽象命令类*/ public interface Command {void execute(); }/*** 具体命令类*/ public class OrderCommand implements Command{// 持有接收者对象private SeniorChef seniorChef;private Order order;public OrderCommand(SeniorChef seniorChef, Order order) {this.seniorChef seniorChef;this.order order;}Overridepublic void execute() {System.out.println(order.getDiningTable() 卓的订单);MapString, Integer foodDir order.getFoodDir();SetString keys foodDir.keySet();for (String foodName : keys){seniorChef.makeFood(foodName,foodDir.get(foodName));}System.out.println(order.getDiningTable() 卓的饭好了---);} }/*** 订单类*/ public class Order {// 餐桌号码private int diningTable;// 餐品及数量private MapString, Integer foodDir new HashMap();public int getDiningTable() {return diningTable;}public void setDiningTable(int diningTable) {this.diningTable diningTable;}public MapString, Integer getFoodDir() {return foodDir;}public void setFoodDir(MapString, Integer foodDir) {this.foodDir foodDir;}public void setFood(String name, int num) {foodDir.put(name, num);} }/*** 厨师类*/ public class SeniorChef {public void makeFood(String name, int num){System.out.println(num份name);} }/*** 服务员角色 请求者*/ public class Waitor {// 持有多个命令private ListCommand commands new ArrayList();public ListCommand getCommands() {return commands;}public void setCommands(Command command) {commands.add(command);}// 发起命令的方法public void orderUp(){System.out.println(服务员说新订单来了);for (Command command : commands) {if (command ! null){command.execute();}}} }public class Test01 {public static void main(String[] args) {// 订单对象Order order new Order();order.setDiningTable(1);order.setFood(炒土豆丝,1);order.setFood(可乐,1);Order order1 new Order();order1.setDiningTable(2);order1.setFood(面条, 1);// 厨师对象SeniorChef seniorChef new SeniorChef();// 创建命令对象OrderCommand orderCommand new OrderCommand(seniorChef, order);OrderCommand orderCommand1 new OrderCommand(seniorChef, order1);// 创建调用者服务员Waitor waitor new Waitor();waitor.setCommands(orderCommand);waitor.setCommands(orderCommand1);// 发起命令waitor.orderUp();} }优缺点 优点 降低系统的耦合度。命令模式能将调用操作的对象与实现该操作的对象解耦。增加或删除命令非常方便。采用命令模式增加与删除命令不会影响其他类满足开闭原则对扩展比较灵活。可以实现宏命令。命令模式可以与组合模式结合将多个命令装配成一个组合命令即宏命令。方便实现Undo和Redo操作。命令模式可以与备忘录模式结合实现命令的撤销与恢复。 缺点 使用命令模式可能会导致某些系统有过多的具体命令类。系统结构更加复杂。 使用场景 系统需要将请求调用者和请求接收者解耦使得调用者和接收者不直接交互。系统需要在不同的时间指定请求将请求排队和执行请求。系统需要支持命令的撤销操作和恢复操作。
http://www.yutouwan.com/news/115074/

相关文章:

  • 商丘企业网站服务小说系统 wordpress
  • 电子商务的建站流程孝感市门户网站
  • 做淘宝客网站挣钱wordpress author=1
  • 海珠区做网站的公司网站安全检测平台
  • 动态域名可以建网站重庆妇科医院哪家好医院公立医院
  • 怎么做软文代发平台网站资源下载
  • 网站推广的建议网站设计构想
  • 全屏响应式网站模板个人网站备案取名
  • wordpress分类自定义字段北京seo优化费用
  • 极客网站建设2022年国内重大新闻事件
  • 哪个网站可以做图交易平台可以做羞羞的游戏视频网站
  • 做个人网站用什么程序网页设计技术论文范文
  • 开发外贸产品的网站2021免费正能量网站入口
  • 天津城建设计院网站搜索引擎营销是指
  • 哪个网站做的系统好用吗网络制作软件
  • 进一步加强网站建设管理建筑考试培训网
  • 神州顺利办深一做网站建设网站模板免费
  • 怎样免费建立自己网站直接打域名访问网站
  • dedecms做企业网站中铁建设集团有限公司总部在哪
  • 天河企业网站建设网易云企业网站建设模板
  • 网站建设制作设计开发给网站建设提意见
  • 重庆品牌营销型网站建设定西临洮网站建设
  • 网站制作的流程是什么企业专业搜索引擎优化
  • 可以做视频的一个网站建网站的网络公司的名称以及服务
  • 优设网站怎么下载软件下载网站如何履行安全管理义务确保提供的软件
  • 做钓鱼网站原理报考二级建造师证需要什么条件
  • wordpress图片缩略图黑帽seo工具
  • 手机访问网站 自动缩放宁德网站开发
  • 石家庄网站建设规划扫二维码直接进入网站怎么做
  • 网站做公司简介怎么做高端品牌网站建设公司