【发布时间】:2016-12-06 00:48:51
【问题描述】:
我有两种来自上游的有效负载:PayloadA 或 PayloadB。
PayloadA 包含这么多字段:
createTimestamp
sentTimestamp
schemaId
eventId
producerId
guid
deviceId
langId
sessionId
PayloadB 包含这么多字段:
createTimestamp
sentTimestamp
schemaId
eventId
producerId
eventType
payloadVersion
creationDate
expirationSeconds
payload
所以前 5 个字段在它们之间是通用的。而且一般他们会有更多的字段。
我想为此创建一个线程安全的构建器模式。那么我是否应该有一个Payload builder 模式类,其中包含来自两个有效负载的所有字段?或者我应该在另一个 Payload 构建器类中包含 PayloadA 和 PayloadB 构建器模式类,并且 PayloadA 和 PayloadB 的公共字段将成为 Payload 类的一部分?
为此类问题制作构建器模式的最佳方法是什么。假设PayloadA builder 模式deviceId 是必填字段。对于PayloadB builder 模式eventType 是必填字段。
【问题讨论】:
-
将通用属性移动到不同的类,如有效负载。在payloadA和payloadB中使用payload类的组合。看看:stackoverflow.com/documentation/design-patterns/1811/…
-
@Ravindrababu 你能举个例子吗?这将帮助我更好地理解。
标签: java multithreading design-patterns thread-safety builder-pattern