我不熟悉面向对象的编程。我在C#工作。我正在通过一个具有GUI的简单恒温器来学习这一切。我的问题与我如何最好地构建恒温器的时间表有关。我正在考虑某种类,但是这个类有多级层次结构(正确的术语?)。
1级 - 模式 加热或冷却模式
2级 - 星期几 每周分化日
等级3 - 时间段 醒来,离开,回归和睡眠
因此,根据我们是加热还是冷却,我们有不同的时间表。此外,星期几可以有唯一的时间段。最后,每个时间块都可以有一个独特的温度。
存储这些值,直到用户更改计划为止。
来自MCU背景,我想:只需分配一个变量或数组来覆盖每个案例,并手动循环遍历所有案例。即使在工作日/周末最简单的情况下,每天同样的开始/停止,我们有16个变种,这很乏味。
有更好的方法吗?
像
这样的东西Console.WriteLine(Heating.Monday.Wake.Time);
Console.WriteLine(Heating.Monday.Wake.Setpoint);
//Output:
//14:00
//72