设计模式——命令模式
命令模式:将一个请求封装为一个对象,从而使我们可以用不同的请求对 客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。也称之为:动作模式,事务模式。
例如数据库的底层架构实现就是一种命令模式。
一个具体的命令来实现命令接口,并且通过Reciever的action()实现execute()方法,Invoker通过call()方法来执行命令。可以把命令参数化,实现调用者和具体命令的执行松耦合。
一个小Demo:
public interface Command { void execute(); } class ConcreteCommand implements Command { private Receiver receiver; public ConcreteCommand(Receiver recerver) { this.receiver = recerver; } @Override public void execute() { //可以做更复杂的操作 receiver.action(); } } public class Receiver { public void action() { System.out.println("执行命令"); } } public class Invoke { private Command cmd; public Invoke(Command cmd) { this.cmd = cmd; } public void call() { cmd.execute(); } } public class Client { public static void main(String[] args) { Command cmd = new ConcreteCommand(new Receiver()); Invoke invoke = new Invoke(cmd); invoke.call(); } }
作者:Pickle
声明:对于转载分享我是没有意见的,出于对博客园社区和作者的尊重一定要保留原文地址哈。
致读者:坚持写博客不容易,写高质量博客更难,我也在不断的学习和进步,希望和所有同路人一道用技术来改变生活。觉得有点用就点个赞哈。