我正在嘗試構建拍賣應用程序的原型。基於事件的拍賣和銷售系統的設計模式
賣方將總是創建這將是兩種類型
- 1)固定項目
- 2)價格事件(的類型的數目可以在未來增加)的拍賣
由於拍賣類型和固定價格事件都有開始日期和結束日期,但其他項目完全不同。所以我很困惑我應該遵循哪種設計模式來根據從下拉菜單中選擇事件類型來實例化適當的事件類型。
我正在嘗試構建拍賣應用程序的原型。基於事件的拍賣和銷售系統的設計模式
賣方將總是創建這將是兩種類型
由於拍賣類型和固定價格事件都有開始日期和結束日期,但其他項目完全不同。所以我很困惑我應該遵循哪種設計模式來根據從下拉菜單中選擇事件類型來實例化適當的事件類型。
你是什麼意思「其他項目是完全不同的」?
我看到它每拍賣的方式有:
Start DateTime
End DateTime
Title
Price
Shipping or else fees
Description
Product/w.e images[]
等。
爲什麼不能全部拍賣包含在同一類型的結構?
說這個..複合圖案出現了,但只是如果我在上面。
另外一個固定的價格種類也可以在FixedPrice類型的「拍賣」。
因此,添加一個枚舉到上述結構。
enum AuctionType
{
FixedPrice,
Charity,
Free,
Promotion,
Whatever
}
對象模型可以
Auction類
事件 - 基類。
AuctionEvent - 從Event繼承。
FixedPriceAuctionEvent
拍賣是AuctionEvent的屬性。
這樣你有多種類型的AuctionEvent類。他們可能有不同的屬性,仍然有拍賣屬性。
當您通過事件向系統輸入輸入信息時,系統會輸入一個記錄。當你有事件和子事件時,你會得到它是什麼類型的輸入的圖片。這有助於推導過程邏輯,並且可以有更清晰的審計歷史記錄。
固定價格是完全不是一個拍賣,它只會有開始日期和結束日期,但沒有固定價格的投標用戶將直接購買項目,而不是競標。 –