在复杂模型中公开(或创建用于公开数据)的类

时间:2012-04-20 10:18:35

标签: c# data-modeling nested-class

我的数据访问层中有以下类(详细信息略去)(可访问性可能不正确,具体取决于问题本身的答案,所有字段都可能表示为属性):

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类的同一级添加两个类来完成,或者我是否应该完全改变结构返回带有警报和警告的数据访问对象。

0 个答案:

没有答案