软件设计模式(实验八) 您所在的位置:网站首页 物业在家里装了红外线监控 软件设计模式(实验八)

软件设计模式(实验八)

2024-02-14 11:03| 来源: 网络整理| 查看: 265

实验八 外观模式的应用 (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 实验室设备网 版权所有