C# 基于事件的拍卖系统设计模式

C# 基于事件的拍卖系统设计模式,c#,design-patterns,C#,Design Patterns,我正在尝试建立一个拍卖应用程序的原型 卖方将始终创建两种类型的活动 1) 拍卖物品 2) 固定价格事件(类型数量可能在未来增加) 因为拍卖类型和固定价格事件都有开始日期和结束日期,但其他项目则完全不同。因此,我不知道应该遵循哪种设计模式,根据下拉列表中事件类型的使用选择来实例化适当的事件类型。您所说的“其他项目完全不同”是什么意思 在我看来,每次拍卖都有: Start DateTime End DateTime Title Price Shipping or else fees Descri

我正在尝试建立一个拍卖应用程序的原型

卖方将始终创建两种类型的活动

  • 1) 拍卖物品
  • 2) 固定价格事件(类型数量可能在未来增加)
因为拍卖类型和固定价格事件都有开始日期和结束日期,但其他项目则完全不同。因此,我不知道应该遵循哪种设计模式,根据下拉列表中事件类型的使用选择来实例化适当的事件类型。

您所说的“其他项目完全不同”是什么意思

在我看来,每次拍卖都有:

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

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

说这个。。复合模式出现在脑海中,但只要我在上面的权利

此外,固定价格类型也可以是固定价格类型的“拍卖”

因此,在上述结构中添加一个枚举

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

您的对象模型可以是

拍卖课

事件基类

AuctionEvent-从事件继承

固定价格拍卖事件

拍卖是AuctionEvent的财产

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


当您通过事件将输入传送到系统时,您将拥有系统输入的记录。当您有事件和子事件时,您将了解它是什么类型的输入。这有助于导出流程逻辑,并且可以有更清晰的审核历史记录。

固定价格完全不是拍卖,它只有开始日期和结束日期,但在固定价格中不会有竞价。用户将直接购买项目,而不是竞价。