我有两种类型的有效载荷来自上游:它可以是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