基于事件的拍卖和销售系统的设计模式

本文关键字:系统 设计模式 拍卖 事件 于事件 | 更新日期: 2023-09-27 18:25:42

我正在尝试为拍卖应用程序构建一个原型。

卖方将始终创建两种类型的事件

  • 1) 物品拍卖
  • 2) 固定价格事件(类型的数量将来可能会增加)

由于拍卖类型和固定价格事件都有开始日期和结束日期,但其他项目完全不同。所以我很困惑我应该遵循哪种设计模式来实例化基于下拉菜单中事件类型的使用选择的适当事件类型。

基于事件的拍卖和销售系统的设计模式

"其他项目完全不同"是什么意思?

我认为每次拍卖都有:

Start DateTime
End DateTime
Title
Price
Shipping or else fees
Description
Product/w.e images[]

等等。。

为什么所有的拍卖都不能包含在同一类型的结构中?

这么说。。复合模式出现在脑海中,但前提是我对上面的内容。

复合图案

固定价格类型也可以是FixedPrice类型的"拍卖"。

因此,在上面的结构中添加一个Enum。

enum AuctionType
{
FixedPrice,
Charity,
Free,
Promotion,
Whatever
}

您的对象模型可以是

拍卖类

事件-基类。

AuctionEvent-从事件继承。

固定价格拍卖活动

Auction是AuctionEvent的财产。

这样就有了多种类型的AuctionEvent类。他们可能有不同的财产,仍然有拍卖财产。

当您通过事件将输入引导到系统时,您将有一个系统输入记录。当你有事件和子事件时,你会看到它是什么类型的输入。这有助于推导流程逻辑,并且可以具有更清晰的审计历史。