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

黑龙江专业网站建设游戏云电脑

黑龙江专业网站建设,游戏云电脑,网络做网站如何盈利,wordpress第三方评论文章目录 一、命令模式定义二、例子2.1 菜鸟教程例子2.1.1 定义命令类接口2.1.2 定义命令执行者2.1.3 被处理对象Stock。2.1.4 封装处理Stock的命令 2.2 JDK源码——Runnable2.2.1 命令接口2.2.2 命令处理者2.2.3 命令实现类 2.3 SpringMVC——Controller2.3.1 请求对象 handle…

文章目录

  • 一、命令模式定义
  • 二、例子
    • 2.1 菜鸟教程例子
      • 2.1.1 定义命令类接口
      • 2.1.2 定义命令执行者
      • 2.1.3 被处理对象Stock。
      • 2.1.4 封装处理Stock的命令
    • 2.2 JDK源码——Runnable
      • 2.2.1 命令接口
      • 2.2.2 命令处理者
      • 2.2.3 命令实现类
    • 2.3 SpringMVC——Controller
      • 2.3.1 请求对象 handler
      • 2.3.2 请求执行者 HandlerAdapter
  • 三、其他设计模式

一、命令模式定义

类型: 行为型模式
目的: 将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。

二、例子

2.1 菜鸟教程例子

2.1.1 定义命令类接口

public interface Order {void execute();
}

2.1.2 定义命令执行者

import java.util.ArrayList;
import java.util.List;public class Broker {private List<Order> orderList = new ArrayList<Order>(); public void takeOrder(Order order){orderList.add(order);      }public void placeOrders(){for (Order order : orderList) {order.execute();}orderList.clear();}
}

2.1.3 被处理对象Stock。

菜鸟教程定义被处理的对象是Stock。

public class Stock {private String name = "ABC";private int quantity = 10;public void buy(){System.out.println("Stock [ Name: "+name+", Quantity: " + quantity +" ] bought");}public void sell(){System.out.println("Stock [ Name: "+name+", Quantity: " + quantity +" ] sold");}
}

2.1.4 封装处理Stock的命令

public class BuyStock implements Order {private Stock abcStock;public BuyStock(Stock abcStock){this.abcStock = abcStock;}public void execute() {abcStock.buy();}
}
public class SellStock implements Order {private Stock abcStock;public SellStock(Stock abcStock){this.abcStock = abcStock;}public void execute() {abcStock.sell();}
}

2.2 JDK源码——Runnable

虽然 Runnable 接口本身并不是一个命令模式的实现,但结合Thread和自定义的Runnable 实现类可以认为它运用了命令模式。

2.2.1 命令接口

public interface Runnable {public abstract void run();
}

2.2.2 命令处理者


public class Thread implements Runnable {private Runnable target;public synchronized void start() {if (threadStatus != 0)throw new IllegalThreadStateException();
​group.add(this);boolean started = false;try {start0();started = true;} finally {try {if (!started) {group.threadStartFailed(this);}} catch (Throwable ignore) {}}}private native void start0();
}

2.2.3 命令实现类

public class OrderThread {public void run(){//todo}
}

2.3 SpringMVC——Controller

个人认为Controller也是运用了命令模式。

2.3.1 请求对象 handler

2.3.2 请求执行者 HandlerAdapter

HandlerAdapter光看名字就知道运用了适配模式,我们就看handle方法部分就好了。

public class SimpleControllerHandlerAdapter implements HandlerAdapter {public SimpleControllerHandlerAdapter() {}public boolean supports(Object handler) {return handler instanceof Controller;}@Nullablepublic ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return ((Controller)handler).handleRequest(request, response);}public long getLastModified(HttpServletRequest request, Object handler) {return handler instanceof LastModified ? ((LastModified)handler).getLastModified(request) : -1L;}
}

三、其他设计模式

创建型模式
结构型模式

  • 1、设计模式——装饰器模式(Decorator Pattern)+ Spring相关源码

行为型模式

  • 1、设计模式——访问者模式(Visitor Pattern)+ Spring相关源码
  • 2、设计模式——中介者模式(Mediator Pattern)+ JDK相关源码
  • 3、设计模式——策略模式(Strategy Pattern)+ Spring相关源码
  • 4、设计模式——状态模式(State Pattern)
  • 5、设计模式——观察者模式(Observer Pattern)+ Spring相关源码
  • 6、设计模式——备忘录模式(Memento Pattern)
  • 7、设计模式——模板方法模式(Template Pattern)+ Spring相关源码
  • 8、设计模式——迭代器模式(Iterator Pattern)+ Spring相关源码
http://www.yayakq.cn/news/524614/

相关文章:

  • 做网页收款网站wordpress都可以干什么
  • 网站浏览器兼容性通用博罗惠州网站建设
  • 网站换主题傻瓜式在线做网站
  • 域名注册以后怎样做网站安溪住房和城乡规划建设局网站
  • 合肥建网站公司网站建设意识形态工作
  • 深圳市企业网站建设江门做网站的公司
  • 建设公司网站意义网站电子签名怎么做
  • 有公司如何制作网站网站建设质量管理定义
  • 为什么买的网站模版不好用南平市住房和城乡建设局网站
  • 个人网站购买中国营销
  • 网站建设网站维护本地常州微信网站建设
  • 设计单位在厦门什么网站海南网站建设监理
  • 姜堰网站开发怎么给设计网站推广
  • 江西中赣建设有限公司网站餐饮加盟网站建设案例
  • 网上建网站2021最新新闻热点事件
  • seo建站收费地震现代建筑风格特点
  • 站长seo计费系统网站建设的组织机构
  • iis网站建设新中建设公司招聘网站
  • 山东省建筑住房和城乡建设厅网站微信公众号优秀文案
  • asp.net做网站吗平台搭建是什么
  • 公司使用威联通nas做网站存储如何制作网页图片素材
  • 大庆市网站建设物联网软件开发平台
  • 网站建设兼职招聘营销推广方案包括哪些内容
  • 做个网站哪里可以做遵义营销型网站建设
  • 没有网站怎么做链接视频教程wordpress中文论坛插件
  • 网站美工外包公司写着网站建设图片
  • 做网站客户要求分期潍坊网站建设优化
  • tor网站建设node.js做网站开发
  • 网页好看的网站设计建设网站方法有哪些内容
  • 深圳网站域名注册欧式风格装修效果图