一个保安系统的,由录像机、电灯、红外线监控和警报器组成。保安系统的操作人员需要经常将这些仪器启动和关闭。保安类需要用到所有的录像机(camera)、电灯(light)、感应器(sensor)和警报器(alarm)对象,保安觉得使用不方便。应用外观模式,用c#控制台应用程序改进该设计。绘制该模式的uml图。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace shiyan8waiguanmoshi
{
class program
{
public class camera
{
public void turnon()
{
console.writeline(“turning on the camera.”);
}
public void turnoff()
{
console.writeline(“turning off the camera.”);
}
}
public class light
{
public void turnoff()
{
console.writeline(“turning on the light.”);
}
public void turnon()
{
console.writeline(“turning off the light.”);
}
}
public class sensor
{
public void activate()
{
console.writeline(“activating the sensor.”);
}
public void deactivate()
{
console.writeline(“deactivating the sensor.”);
}
public void trigger()
{
console.writeline(“the sensor has triggered.”);
}
}
public class alarm
{
public void activate()
{
console.writeline(“activating the alarm.”);
}
public void deactivate()
{
console.writeline(“deactivating the alarm.”);
}
public void ring()
{
console.writeline(“ringing the alarm.”);
}
public void stopring()
{
console.writeline(“stop the alarm.”);
}
}
public class securityfacade
{
private static camera camera1, camera2;
private static light light1, light2, light3;
private static sensor sensor;
private static alarm alarm;
static securityfacade()
{
camera1 = new camera();
camera2 = new camera();
light1 = new light();
light2 = new light();
light3 = new light();
sensor = new sensor();
alarm = new alarm();
}
public void activate()
{
camera1.turnon(); camera2.turnon();
light1.turnon(); light2.turnon(); light3.turnon();
sensor.activate(); alarm.activate();
}
public void deactivate()
{
camera1.turnoff(); camera2.turnoff();
light1.turnoff(); light2.turnoff(); light3.turnoff();
sensor.deactivate(); alarm.deactivate();
}
}
private static securityfacade security = new securityfacade();
static void main(string[] args)
{
security.activate();
console.writeline(“\n--------------------\n”);
security.deactivate();
}
}
}
『本文转载自网络,u球体育app下载的版权归原作者所有,如有侵权请联系删除』