업스트림에서 오는 두 가지 유형의 페이로드가 있습니다. PayloadA
또는 PayloadB
입니다.단일 빌더 클래스에 여러 빌더 패턴을 갖는 방법은 무엇입니까?
PayloadA
이 많은 필드는 containes :
createTimestamp
sentTimestamp
schemaId
eventId
producerId
guid
deviceId
langId
sessionId
PayloadB
이 많은 분야는 containes :
createTimestamp
sentTimestamp
schemaId
eventId
producerId
eventType
payloadVersion
creationDate
expirationSeconds
payload
그래서 처음 5 개 필드 사이 일반적이다. 그리고 일반적으로 그들은 더 많은 밭을 가질 것입니다.
이에 대한 스레드 안전 빌더 패턴을 작성하려고합니다. 두 페이로드의 모든 필드가 결합 된 하나의 Payload
빌더 패턴 클래스가 있어야합니까? 또는 PayloadA
및 PayloadB
빌더 패턴 클래스를 다른 Payload
빌더 클래스에 넣고 공통 필드 인 PayloadA
및 PayloadB
을 Payload
클래스의 일부로 포함해야합니까?
이런 종류의 문제에 대한 빌더 패턴을 만드는 가장 좋은 방법은 무엇입니까? PayloadA
작성자 패턴 deviceId
이 필수 입력란이라고 가정 해 보겠습니다. 그리고 PayloadB
작성자 패턴 eventType
은 필수 입력란입니다.
공통 속성을 페이로드 같은 다른 클래스로 이동하십시오. 페이로드 A와 페이로드 B에서 페이로드 클래스 구성을 사용합니다. 보세요 : http://stackoverflow.com/documentation/design-patterns/1811/builder-pattern/17177/builder-pattern-in-java-with-composition –
@Ravindrababu 어떻게 보이는지 예제를 제공해 줄 수 있습니까? 처럼? 그것은 내가 더 잘 이해하는 데 도움이 될 것입니다. – john