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

优化方案官方网站常见的网络营销方式有哪几种

优化方案官方网站,常见的网络营销方式有哪几种,wordpress源码在哪,东阳做网站的公司命令模式#xff08;Command Pattern#xff09; 为了解决什么问题#xff1f; 命令模式的目的是将请求发起者和请求执行者解耦#xff0c;使得请求的发起者不需要知道具体的执行者是谁#xff0c;也不需要知道执行的具体过程#xff0c;只需要发送请求即可。 通过使用…命令模式Command Pattern 为了解决什么问题 命令模式的目的是将请求发起者和请求执行者解耦使得请求的发起者不需要知道具体的执行者是谁也不需要知道执行的具体过程只需要发送请求即可。 通过使用命令对象来封装请求可以参数化和传递可调用的动作。同时支持可撤销操作和队列请求等功能。 怎么用代码实现 下面让我们通过一个餐厅下单的例子来看看怎么实现命令模式。例子里包含三个角色 顾客服务员厨师 服务员在收到顾客的点餐请求后然后将请求封装成命令并交给厨师准备食物。 首先定义好作为命令执行者的厨师这里的厨师会制作汉堡包和沙拉。 /*** 厨师接收点菜的命令并开始烹饪*/ public class Chef {public void makeBurger() {System.out.println(Chef is making a burger);}public void makeSalad() {System.out.println(Chef is making a salad);} }然后定义抽象下单命令以及具体的汉堡包和沙拉的下单命令。 public interface OrderCommand {void execute(); }/*** 烹饪汉堡包的命令*/ public class BurgerOrderCommand implements OrderCommand {Overridepublic void execute(Chef chef) {chef.makeBurger();} }/*** 准备沙拉的命令*/ public class SaladOrderCommand implements OrderCommand {Overridepublic void execute(Chef chef) {chef.makeSalad();} }接着定义服务员角色。 /*** 服务员是命令的调用者*/ public class Waiter {private Chef chef;private OrderCommand orderCommand;public Waiter(Chef chef) {this.chef chef;}public void sendOrderCommandToKitchen(OrderCommand orderCommand) {this.orderCommand orderCommand;System.out.println(Waiter sending order to kitchen...);orderCommand.execute(chef);} }最后顾客通过服务员下单让厨师做出想吃的菜品。 /*** 餐厅顾客类*/ public class RestaurantClient {public static void main(String[] args) {Chef chef new Chef(); // 接收方Waiter waiter new Waiter(chef); // 调用方OrderCommand burgerOrder new BurgerOrderCommand(); // 顾客想吃汉堡waiter.sendOrderCommandToKitchen(burgerOrder); // 服务员收到顾客订单后将订单发送至厨房OrderCommand saladOrder new SaladOrderCommand(); // 顾客改主意想吃沙拉waiter.sendOrderCommandToKitchen(saladOrder); // 服务员收到顾客订单后将订单发送至厨房} }为什么可以解决这个问题 命令模式通过将具体的请求封装成对象使得发起请求的操作和接收请求的对象之间不直接发生依赖关系从而实现请求发起者和请求执行者的解耦。 因为命令对象把请求封装成了对象这使得你可以用不同的请求、队列或者日志来参数化其他对象也可以支持撤销操作。 命令模式适用于哪些场景 参数化对象需要将请求参数化并传递给调用者时可以使用命令模式。 操作排队需要将请求排队执行例如任务队列、线程池等。 支持撤销操作需要提供撤销和恢复请求功能的场景。 支持宏命令可以使用命令模式组合多个命令实现宏命令的功能。 命令模式在开源代码中比较场景下面是典型的案例 Swing中的ActionJava Swing库中javax.swing.Action接口代表了一个抽象的用户界面动作它本身就是命令模式的一种实现。 Guava的事件总线Guava库中的事件总线(EventBus)可以结合命令模式使用发布者发布命令事件而订阅者则执行相关的命令。 命令模式把发送命令的责任和执行命令的责任分开确保了系统设计的灵活性和扩展性。此外它还简化了其他对象的逻辑因为它们不需要知道实际的执行逻辑。这一模式特别适用于实现撤销(redo)/恢复(undo)操作、事务系统等需要定义、存储、传递和执行请求的场合。 ———————————这是分割线——————————— 欢迎添加博主vx深入交流
http://www.pierceye.com/news/753040/

相关文章:

  • vip解析网站怎么做的做网站需要注册商标多少类
  • 一般做网站宽高多少网页调用 wordpress 图片编辑器
  • 简述网站建设的基本过程word模板免费下载网站
  • 页面好看的蛋糕网站wordpress路由插件
  • 网站建站四种方案深圳网站建设维护
  • 企业网站优化的方案游戏网页设计图片
  • 烟台html5网站建设wordpress主题 亚马逊
  • 个人网站做电商wordpress.php扩张
  • c2c电子商务网站定制开发校园网建设网站特色
  • 企业网站制作公司有哪些做手机网站公司
  • 怎么做flash网站设计惠州做网站公司哪家好
  • 网站开发文档下载餐饮vi设计一套多少钱
  • 平湖网站建设公司克正规的网店平台有哪些
  • 网站建设销售求职网络营销推广引流方法
  • 深圳网站建设官网网站背景素材
  • 建设部网站安全考核证书查询平面设计的素材网站
  • 郑州制作个人网站网站个人备案做企业网站
  • 昆明有网站的公司专注网站平台推广公司
  • 网站建设酷隆莲湖免费做网站
  • 网站建设内容保障制度什么网站权威评价搜索引擎优劣
  • 中国建设局网站东莞市路桥收费所
  • 那个网站上有做婚礼布场样图的公司网站排名
  • 凡客资源东莞市seo网络推广服务机构
  • 网站的安全维护wordpress 文章 定时
  • 网上做题扣分在哪个网站上做网站建设微信商城运营
  • 外贸英文商城网站建设微信公众帐号开发
  • 上海做网站运维的公司用手机制作自己的网站
  • 西安做网站朋朋网络花都区建设网站
  • 国外的贸易网站wordpress 不会编程
  • 设计网页作业seo如何优化网站推广