我正在尝试为拍卖应用程序构建原型。
卖方将始终创建一个有两种类型的事件
- 1) 物品拍卖
- 2)固定价格事件(未来可能会增加类型的数量)
由于拍卖类型和固定价格事件都有开始日期和结束日期,但其他项目完全不同。所以我很困惑我应该遵循哪种设计模式来根据从下拉列表中选择事件类型来实例化正确的事件类型。
我正在尝试为拍卖应用程序构建原型。
卖方将始终创建一个有两种类型的事件
由于拍卖类型和固定价格事件都有开始日期和结束日期,但其他项目完全不同。所以我很困惑我应该遵循哪种设计模式来根据从下拉列表中选择事件类型来实例化正确的事件类型。
“其他项目完全不同”是什么意思?
我对每次拍卖的看法都有:
Start DateTime
End DateTime
Title
Price
Shipping or else fees
Description
Product/w.e images[]
ETC..
为什么不能所有拍卖都包含在同一类型的结构中?
这么说.. 复合模式浮现在脑海中,但如果我在上面是正确的。
固定价格类型也可以是 FixedPrice 类型的“拍卖”。
因此,在上述结构中添加一个 Enum。
enum AuctionType
{
FixedPrice,
Charity,
Free,
Promotion,
Whatever
}
您的对象模型可以是
拍卖类
事件 - 基类。
AuctionEvent - 从 Event 继承。
固定价格拍卖事件
Auction 是 AuctionEvent 的一个属性。
这样你就有了多种类型的 AuctionEvent 类。它们可能具有不同的属性,但仍然具有拍卖属性。
当您通过事件将输入引导到系统时,您将获得系统输入的记录。当您有事件和子事件时,您将了解它是什么类型的输入。这有助于推导流程逻辑,并且可以拥有更清晰的审计历史记录。