我有兩種類型的有效載荷來自上游:它可以是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