深入研究停车位LLD设计
#java #oop #systemdesign #lld

问候,亲爱的读者! ð

在此博客中,我们正在制作功能性和高效的停车位。你猜怎么着?我们正在研究设计模式,以使它们更加聪明,更有效。 so wording.start()ððâ

责任

ð车辆进入和出口:为车辆找到合适的停车位并创建机票。

ð€

°成本计算和付款:根据持续时间和车辆类型计算停车成本,为用户提供灵活的付款方式。

停车策略选项:不同的停车策略(例如,在电梯附近的公园附近的停车策略)应向用户使用,并根据用户偏好和车辆类型确定现场分配。<<<<<<<<<<<<<<<<<<<<<< /p>

我们的停车模型阵容ð

  1. parkingspot - „ ~~
  2. 车辆ð
  3. Parkingspotmanager(Entrancemanager和Exitmanager)
  4. 票ð«
  5. parkingspottype和车辆(枚举)ð
  6. parkingstrategyð
  7. CostConfiguration -
  8. CostComputationstrategyð°

parkingspot界面ðð

ð parkingspotmanager 拥有 parkingspot 满足各种车辆类型(2轮和4轮)的收藏。

为了实现这一目标,我们将创建一个接口,可以实现具体类(例如TwowHeelerParkingspot和four trowheelerParkingsPot)。

ð此外,它采用 ParkingsPottype 枚举来分类可用的停车位类型。

ð使用此接口的好处是,如果我们决定以后在以后引入一种新型的停车位,我们可以简单地创建一个遵守接口的类。

Image description

ð€

entrancemanager :这位经理是根据汽车类型和停车策略有效地将停车位分配给接入车辆并产生机票的回应。

¦ Exitmanager :考虑持续时间和点类型的成本计算策略,计算停车费。

Image description

找到适合您车辆的正确位置ð

ð想象 entrancemanager 作为车辆的媒人。

〜需要两个参数:A 车辆了解车辆类型,A ParkingStrategy 了解用户的偏好。

ðâ€使用此操作,找到合适的停车位,并为该车辆和策略制作

ð«成功分配了位置,该位置标记为被占用的位置,因此无法使用其他车辆。

ð揭开魔术:
您可能会注意到我们对
的用法

Optional<Ticket>

本质上,可选的容器可能会或可能不会持票。可选用于避免null检查是否未找到对象

Image description

ð©退出经理:计算您的停车票价!

ð当您的可信赖车辆竞标Adieu并从停车场推出时,出口经理弹起了行动。

ð°通过召唤强大的成本计算策略(包括每小时costComputation和dailyCostComputation)和您的乘车 ,它可以达成公平而奇特的价格tagðttagðtt 。

Image description

我们将所有内容组合在一起是完整的图。

Image description

ð感谢您加入我们的停车冒险!ð

ð—如果您喜欢阅读此博客,请花点时间分享您的想法,并喜欢它

ð请继续关注我们的下一个博客,我们将深入研究此智能停车系统的激动人心的编码演示。保持引擎运行! ð