请考虑以下情况,属于建筑物的“火灾和安全报警监控系统”。
我有 3 个班级Zone
,Controller
和Camera
。Controller
类似于建筑物的中央控制单元。Controller
控制s 所以在 . 中有一个对象Camera
数组。控制器能够执行各种任务,例如从摄像头读取数据、关闭摄像头、打开、将数据记录到数据库等。Camera
Controller
控制器.java
public class Controller
{
private Camera[] camera;
public byte[] getVideo()
{
}
}
Zone 类从控制器读取数据,并将命令传递给控制器。
区域.java
public Zone extends JPanel
{
private Controller ctrl;
}
有 6 个区域对象,因为这些区域类似于建筑物中的“房间”。不同的区域将有不同数量的摄像机,并将不同的命令传递给Controller
即使有 6 个区域对象,也应该有一个 Controller,因为它是中央控制单元,不同的区域不能有不同的不同控制单元。但是“控制器”应该有不同的相机对象,它们属于不同的区域。例如,区域 1 有 5 个摄像头,区域 2 有 2 个摄像头等。因此控制器可以以不同的方式控制摄像头对象。
控制器所做的事情也会影响到整个建筑物。例如,发出安全警报。
但是,如果我为每个区域创建新的控制器对象,那么我将无法执行影响到整个建筑物的任务。如果我制作控制器单列模式,那么我将无法为不同的区域创建不同的相机对象并使用 getter 方法单独获取它们的数据。
那么,我怎样才能实现两者呢?同样,我认为应该有一个控制器,因为建筑物不能有多个房间数量的控制器。