2013-08-01 4 views
0

경매 앱을위한 프로토 타입을 제작하려고합니다.이벤트 기반 경매 및 판매 시스템을위한 디자인 패턴

판매자는 항상 두 가지 유형

  • 1) 항목
  • 2) 고정 가격 이벤트 (유형의 수는 향후 증가 할 수있다)의 경매
이 될 것입니다 이벤트를 만들 것

경매 유형과 고정 가격 이벤트 모두 시작일과 종료일이 있기 때문에 다른 항목은 완전히 다릅니다. 그래서 드롭 다운에서 이벤트 유형의 사용 선택을 기반으로 적절한 이벤트 유형을 인스턴스화하기 위해 어떤 디자인 패턴을 따라야하는지 혼란 스럽습니다.

답변

1

"다른 항목은 완전히 다릅니다"란 무엇을 의미합니까?

내가 각 경매를 볼 수있는 방법이 있습니다

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

왜 모든 경매 구조의 동일한 유형에 포함 할 수없는

?

이런 말 ... 복합 패턴이 마음에 떠오르지 만 위의 경우에 맞다.

Composite Pattern

또한 고정 가격의 유형은 FixedPrice 유형의 "옥션"이 될 수 있습니다.

위의 구조에 열거 형을 추가하십시오. 기본 클래스 -

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

고정 가격은 완전히 경매가 아니며 시작일과 종료일 만 있지만 고정 가격에는 입찰이 없습니다. 사용자는 입찰 대신 직접 제품을 구매합니다. –

0

귀하의 개체 모델

경매 클래스

이벤트가 될 수 있습니다.

AuctionEvent - 이벤트를 상속합니다.

FixedPriceAuctionEvent

경매는 AuctionEvent의 속성입니다.

이렇게하면 여러 유형의 AuctionEvent 클래스가 있습니다. 그들은 다른 속성을 가질 수 있지만 여전히 Auction 속성을가집니다.

이벤트를 통해 입력을 시스템에 입력하면 시스템에 대한 입력 레코드가 생깁니다. 이벤트와 하위 이벤트가있을 때 어떤 유형의 입력인지 그림을 얻을 수 있습니다. 이는 프로세스 논리를 파생시키는 데 도움이되며보다 명확한 감사 내역을 가질 수 있습니다.

관련 문제