Java 正在寻找合适的模式

Java searching for a right pattern

我有下一个任务:

创建一个代表有 10 辆出租车的出租车站的应用程序。 出租车站启用:

叫车的人可能是普通客户,也可能是VIP客户。

如果 VIP 叫了一辆出租车,he/she 应该排在第一位,无论他叫车的时间如何。

在没有出租车的情况下,应在等候名单上保留一个人。

当出租车可用时,根据优先级的人可以免费乘坐出租车。

打印以控制台每个预订 accepted/queued。

执行:

  1. 创建一个有 10 辆出租车的出租车站
  2. 为 9 个普通人叫一辆出租车
  3. 为 1 位贵宾预订出租车
  4. 为 2 个普通人叫出租车
  5. 为 1 位贵宾预订出租车
  6. 1辆计程车回到车站
  7. 为 1 位贵宾预订出租车
  8. 第二辆计程车回到车站
  9. 第三辆出租车回到车站

所以,问题是: 哪种设计模式最适合这项任务? 你会如何解决这个案子?提前致谢!

观察者模式。和 2 个队列(vip/非 vip)。