下载此文档

设计模式:单例模式、命令模式、适配器模式和外观模式.docx


文档分类:IT计算机 | 页数:约30页 举报非法文档有奖
1/ 30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 30 下载此文档
文档列表 文档介绍
设计模式
单例模式、命令模式、适配器模式和外观模式
 
 
五、单例模式
1、概念
单例模式确保一个类只有一个实例,并且提供一个全局访问点
2、实现
单例模式有多种实现方式,不同的实现方式有不同的特点
//多线程不
//命令接口
public interface Command {
public void execute();
}
//电灯类,有开和关两个方法
public class Light {
public void on() {
("Light on");
}
public void off() {
("Light off");
}
}
//电灯控制类,继承自Command
public class LightOnCommand implements Command{
private Light light;
//构造器中传入某个电灯,并记录在实例变量中
//一旦调用execute(),就由这个电灯对象成为接收者,负责接受请求
public LightOnCommand(Light light){
= light;
}
***@Override
public void execute() {
();
}
}
//简单遥控器(调用者)
public class SimpleRemoteControl {
//有一个插槽持有命令,而这个命令控制着一个装置
Command slot;
public SimpleRemoteControl(){}
//用于设置插槽控制的命令
//如果客户想要改变遥控器按钮的行为,可以多次调用这个方法
public void setCommand(Command command) {
slot = command;
}
//当按下按钮时,这个方法就会被调用
//并执行插槽对应命令的execute方法
public void buttonWasPressed() {
();
}
}
//本类是命令模式的客户
public class RemoteControlTest {
public static void main(String[] args) {
//创建一个调用者,之后会传入一个命令给他
SimpleRemoteControl remoteControl = new SimpleRemoteControl();
//这个电灯对象就是请求的接收者
Light light = new Light();
//创建一个命令,并把接收者传给他
LightOnCommand command = new LightOnCommand(light);
//把命令穿给调用者
(command);
//模拟按下按钮
();
}
}
3、类图
4、实现遥控器
按照下图实现遥控器及其对应的命令模式
//接收者:灯
public class Light {
String type;
public Light(String type) {
= type;
}
public void on() {
(type + " Light on");
}
public void off() {
(type + " Light off");
}
}
//接收者:音响
public class Stereo {
String type;
publ

设计模式:单例模式、命令模式、适配器模式和外观模式 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 30
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 科技星球
  • 文件大小 5.63 MB
  • 时间2022-03-20
最近更新