考题一:有一台冰箱,内有一部发动机,负责制冷,冰箱外面有一个界面,人可以通过界面设置冰箱内部温度;如果冰箱门开了10分钟就要报警;冰箱的发动机,界面都是可以更换的,比如以后有新款界面拿来把旧的拆下来安装上新的就好;
写一个project,实现这个冰箱所描述的这些基本功能;
各位大牛小牛要跳槽刷题的,闲得无聊可以做做
Controller 有个 10 分钟 timer,door Opened event 发生时启动,door Closed event 发生时停止。如果 10 分钟到,开始 beep。
Controller 有另一个轮询 timer,每隔 n 秒比较 _currentTemperature 和 TemperatureSetting,启动 / 停止 engine...
UI 通过 IController.TemperatureSetting {get; set;} 显示 / 更改 TemperatureSetting
象我一开始把 Door 分离也可以,更 fancy 些,但最终其实只是提供一个 on / off...
有时候没有绝对对错,只是看容不容易扩展,更改,和理解...