软件设计模式(实验八) | 您所在的位置:网站首页 › 物业在家里装了红外线监控 › 软件设计模式(实验八) |
实验八 外观模式的应用 (Java实现)
一、实验目的
(1) 掌握外观模式(Facade)的特点 (2)分析具体问题,使用外观模式进行设计。 二、实验内容和要求一个保安系统的,由录像机、电灯、红外线监控和警报器组成。保安系统的操作人员需要经常将这些仪器启动和关闭。保安类需要用到所有的录像机(Camera)、电灯(Light)、感应器(Sensor)和警报器(Alarm)对象,保安觉得使用不方便。应用外观模式,用C#或Java、C++控制台应用程序改进该设计。绘制该模式的UML图。 三、源代码1.Equipment 接口 public interface Equipment { public void turnOn(); // 打开设备 public void turnOff(); // 关闭设备 }2.Camera 类 public class Camera implements Equipment { public void turnOn() { System.out.println("打开录像机"); } public void turnOff() { System.out.println("关闭录像机"); } }3.Light 类 public class Light implements Equipment { public void turnOn() { System.out.println("打开电灯"); } public void turnOff() { System.out.println("关闭电灯"); } }4.Sensor 类 public class Sensor implements Equipment { @Override public void turnOn() { System.out.println("打开传感器"); } @Override public void turnOff() { System.out.println("关闭传感器"); } }5.Alarm 类 public class Alarm implements Equipment { @Override public void turnOn() { System.out.println("打开警报器"); } @Override public void turnOff() { System.out.println("关闭警报器"); } }6.Console 类 public class Console { private Equipment camera = new Camera(); private Equipment light = new Light(); private Equipment sensor = new Sensor(); private Equipment alarm = new Alarm(); public void turnOnAll() { camera.turnOn(); light.turnOn(); sensor.turnOn(); alarm.turnOn(); } public void turnOffAll() { camera.turnOff(); light.turnOff(); sensor.turnOff(); alarm.turnOff(); } }7.测试类 public class Test{ public static void main(String[] args) { Console console = new Console(); console.turnOnAll(); console.turnOffAll(); } } 四、UML图 |
CopyRight 2018-2019 实验室设备网 版权所有 |