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

怎么样在网站文章最后做超链接百度品牌广告

怎么样在网站文章最后做超链接,百度品牌广告,有关建设的新闻网站,代理加盟网来源:activiti学习(七)——命令模式和职责链模式在activiti中的应用 文章目录 设计模式命令模式CommandHelloCommandByeCommand ReceiverInvokerClient 职责链模式AbstractHandlerConcreteHandlerAConcreateHandlerB Client activiti中很多ap…

来源:activiti学习(七)——命令模式和职责链模式在activiti中的应用

文章目录

  • 设计模式
    • 命令模式
      • Command
        • HelloCommand
        • ByeCommand
      • Receiver
      • Invoker
      • Client
    • 职责链模式
      • AbstractHandler
        • ConcreteHandlerA
        • ConcreateHandlerB
      • Client

activiti中很多api的调用,最终会把这个调用封装成一个命令,使用命令模式去调用。另外还会把命令放在调用链上,当调用该命令时会依次调用职责链上的每一个拦截器(Interceptor),例如日志、事务相关拦截器,然后调用指定的命令。本章先对这两种设计模式进行介绍

设计模式

命令模式

命令模式其作用是为了对 “行为请求者” 和 “行为实现者” 这两者进行解耦。下图是命令模式的UML图。
在这里插入图片描述

其中

  • HelloCommand和ByeCommand是具体命令,
  • Receiver是命令的实际执行者。
  • Invoker是提供给客户端进行调用的类。

Command

public interface Command {void execute();
}
HelloCommand
public class HelloCommand implements Command {private Receiver receiver = null;public HelloCommand(Receiver receiver) {super();this.receiver = receiver;}public void execute() {receiver.helloAction();}
}
ByeCommand
public class ByeCommand implements Command {private Receiver receiver = null;public ByeCommand(Receiver receiver) {super();this.receiver = receiver;}public void execute() {receiver.byeAction();}
}

Receiver

public class Receiver {public void helloAction() {System.out.println("hello");}public void byeAction() {System.out.println("good bye");}
}

Invoker

public class Invoker {private Command command = null;public Invoker(Command command) {this.command = command;}public void action() {command.execute();}public Command getCommand() {return command;}public void setCommand(Command command) {this.command = command;}
}

Client

public class Client {public static void main(String[] args) {// 每个command都持有1个receiverReceiver receiver = new Receiver();// 不同的command 都会调用receiver中的不同方法HelloCommand helloCommand = new HelloCommand(receiver);ByeCommand byeCommand = new ByeCommand(receiver);// 调用 invoker#action方法, 去触发Command#execute方法, //     这样的话, 不同的command就有不同的行为,//     并且具体的command可以把调用交给receiver去完成, 也可以在自己内部完成(activiti属于这种)Invoker invoker = new Invoker(helloCommand);		invoker.action();invoker.setCommand(byeCommand);		invoker.action();}
}

职责链模式

责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。

下面这个职责链模式与之前认识的责任链模式有区别,之前的责任链的示例有在tomcat的FilterChain.doFilter 和 ReflectiveMethodInvocation#proceed都有,它们是将可以推动链条往下走的对象作为方法参数传给了链条中的每个节点,并且每个节点是感知不到下一个节点的,而下面这种每个节点能知道下一个节点的
在这里插入图片描述

AbstractHandler

AbstractHandler 预示着每个节点都维护了下1个节点,并且在自己调用完后,触发对下1个节点的调用,类似于单向链表的存在

public abstract class AbstractHandler {AbstractHandler next = null;public void setNext(AbstractHandler next) {this.next = next;}public void handle() {action();if(next != null) {next.handle();}}public abstract void action();
}
ConcreteHandlerA
public class ConcreteHandlerA extends AbstractHandler{public void action() {System.out.println("handle A");}
}
ConcreateHandlerB
public class ConcreteHandlerB extends AbstractHandler{public void action() {System.out.println("handle B");}
}

Client

public class Client {public static AbstractHandler initChain() {// 创建2个节点ConcreteHandlerA concreteHandlerA = new ConcreteHandlerA();ConcreteHandlerB concreteHandlerB = new ConcreteHandlerB();// A节点的下一个节点是B节点concreteHandlerA.setNext(concreteHandlerB);return concreteHandlerA;}public static void main(String[] args) {AbstractHandler handlerChain = initChain();// 触发A节点的调用, A调用完成之后, 触发对B节点的调用handlerChain.handle();}
}
http://www.ds6.com.cn/news/30719.html

相关文章:

  • 微信3g网站开发app推广方法及技巧
  • 推荐佛山顺德网站建设如何制作一个简单的网页
  • 买房网站排名网站快速排名案例
  • 石家庄做网站的口碑好班级优化大师功能介绍
  • 陕西的建设厅官方网站直通车关键词优化口诀
  • 做简单网站代码如何优化网页
  • 重庆奉节网站建设html网页制作成品
  • 企业内部系统网站制作友链对网站seo有帮助吗
  • 上海大型网站建设公司排名宁波seo关键词优化方法
  • 香港gmt做空网站长沙优化科技有限公司正规吗
  • 泉州网站建设工作室sem分析是什么
  • 运城建设厅官方网站活动软文模板
  • 宁夏做网站百度关键词优化多少钱
  • 福建平潭建设局网站业务推广公司
  • 网站页脚写什么人工智能培训心得
  • 跨国购物网站建设费用搜狗搜索旧版本
  • 爱藏网一家专业做收藏品的网站百度seo推广方案
  • 广州企业年报网上申报入口seo快速工具
  • 乌兰察布做网站的公司长尾关键词挖掘精灵
  • 潮州哪里做网站搜索最全的搜索引擎
  • 个人可以做建站网站么东莞网站制作公司
  • 南通专业网站建设公司百度搜索引擎服务项目
  • 网站关键词设置多少合适网络服务合同纠纷
  • 专业网站建设公司网站优化排名优化
  • 巨野有做网站的公司吗西地那非片的功能主治
  • 房天下二手房官网学校seo推广培训班
  • 成都网站建设哪家好seo引擎优化服务
  • 做网站虚拟主机最近热搜新闻事件
  • 番禺网站制作企业百度快照在哪里
  • 哪些网站做高尔夫旅游广告推广软件