最近,在我的一次采访中,有人问我一个有趣的问题。

您的组织已放置一台冰箱供员工使用。但是它观察到员工没有正确打开或关闭冰箱的门。例如。有些人会踢它使其关闭,有些人可能会将其推向关闭它所需的位置。因此,现在您决定控制这两个动作。为此问题创建一个设计。

我可以提出以下解决方案,但我对此不满意。

  • 为冰箱对象定义两个状态“打开”和“关闭”。这些将仅是冰箱的对象。
  • open()和close()将通过创建这些对象来控制行为。当然,他们将是决赛。
  • 每个操作都将检查冰箱的状态,如果其处于无效状态,则会抛出UnSupportedOperation异常。

  • 是正确的解决方案还是有更好的方法?

    最佳答案

    我会计算门的速度和加速度。然后对照最小和最大阈值进行检查。当它几乎关闭并且有人关闭时,门必须具有最低速度,并且不应超过最大速度,等等。

    07-26 04:14