表示这种图的常用方法是什么?

What is the common way to represent this kind of diagram?

我需要代理客户在机场购买机票的付款。 机场系统有奖金制度。

因此客户可以通过奖金或其他支付系统或一起支付机票费用。但我不知道如何将它们一起表示。

我想制作调用 PaymentMethod 的界面并制作此层次结构:ByPaymentSystem(界面)、ByBonuse(Class)、ByMix( Class 来自 ByPaymentSystem)

的亲属

支付系统也会有很多实现f.e。 : webmoneymastercard 等等。

而且我还想制作一个 PaymentService class 将具有方法 pay 将采用参数 method:PaymentMethod 并且还采用有关类型的特定信息付款。

我不确定 ByMix class,我的精神想要避免这种情况 class。

你怎么看?

请不要破坏我的声誉,请发表您的意见。我将审查它们,然后决定该主题的命运。另外,如果有必要,我会在 UML class 图中想象我对 subj 的所有想法。

这是我的部分图表的草稿

我想做类似的东西,但我不知道如何进一步处理。 如何用混合大小写表示付款:按奖金和信用现金。

更新: 该项目是一家航空公司的网站。公司有奖励里程制度。这意味着经常飞行的客户可以通过支付部分航班费用来获得一些免费的公里数奖励。 当然,他们可以通过信用卡付款,甚至可以结合使用这些方法。 - 我有货。如何表示该组合?

我需要表示满足上述要求的class图。

更新:

您应该从问题域的模型开始。我希望是这样的:

此图表明:

  • A Customer Payment Service
  • 提供一个或多个Payment
  • 一个Payment Service接受一个或多个Payments一个Customer
  • 每个 Payment 都有一个 amount
  • Payment 必须是 Mileage PaymentCash PaymentCredit Card Payment
  • Payments
  • 的类型之间没有重叠

然后根据解决方案域回答您的问题,我会让您的 pay() 方法接受一组付款。您不需要每种 Payment 的从属接口,只需要各种 class 实现。我会使用多态操作来借记(如果这是正确的词),如果失败则回滚,并在所有借记成功时提交。