软件设计模式-命令模式
阅读数:121 评论数:0
跳转到新版页面分类
架构学
正文
一、概述
命令模式:将动作的请求者从动作的执行者中解耦。
发起请求的对象是调用者,调用者只要调用命令对象的execute()方法就可以让接收者工作,而不必知道具体的接收者对象是谁、是如何工作的。
命令者将对象动作和接收者包进对象中
public interface Command{
public void excute();
}
public class LightOnCommand implements Command{
Light light; //接收者
public LightOnCommand(Light light){
this.light = light;
}
public void execute() //动作
{
light.on();
}
}
public class SimpleRemoteControl(){
Command slot;
public SimpleRemoteControl(){}
public void setCommand(Command command){
slot = command;
}
public void buttonWasPressed(){
slot.execute();
}
}
相关推荐
设计原则:要依赖抽象,不要依赖具体类。
这个原则听起来很像是“针对接口编程,不针对实现编程”,然而这里更强调“抽象”,不能让高层组件依赖底层组件,而且,不管高层或低层组件,“两者”应该依赖于抽象。
一
一、概述
单件模式:确保一个类只有一个实例,并提供一个全局访问点。对于频繁使用的对象,特别是重量级对象,可以省略创建对象所花费的时间,同时降低GC压力。
采用私有构造器。Spring容器中的Bean默
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
算法内的步骤不要切割的太细,否则会较没有弹性。
钩子是