我的数据访问层中有以下类(详细信息略去)(可访问性可能不正确,具体取决于问题本身的答案,所有字段都可能表示为属性):
public class Machine {
MachineType Type;
...
public ??? GetAlarms() { }
public ??? GetWarnings() { }
public void RegisterAlarm(short offset, bool active) { }
public void RegisterWarning(short offset, bool active) { }
...
class MachineType {
...
public class AlarmMessage {
MachineType MachineType; // machine type to which message applies
public short Offset; // offset of alarm (error #)
public string Text; // message
...
}
public class WarningMessage {
MachineType MachineType; // machine type to which message applies
public short Offset; // offset of warning (error #)
public string Text; // message
...
}
}
class MachineAlarm {
Machine Machine;
AlarmMessage Message;
DateTime Timestamp;
bool Active;
...
}
class MachineWarning {
Machine Machine;
WarningMessage Message;
DateTime Timestamp;
bool Active;
...
}
}
现在的问题是我应该如何在Machine
上实现GetAlarms()和GetWarnings()的返回类型,并且根据所选的返回类型,我的嵌套是否正确(另请参阅https://stackoverflow.com/a/7402906/1085457) 。我需要在数据模型之外的实际响应是警报或警告的文本表示以及开始和结束(如果设置)时间。
我也不确定我是否因为警报中存在“活动”属性而过于复杂,但现在它实际上用于对警告和警报进行时间线概述。
我希望你们中的一个大师可以告诉我这个嵌套是否正确,如果我要通过在Machine
类的同一级添加两个类来完成,或者我是否应该完全改变结构返回带有警报和警告的数据访问对象。