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