[英]How to build a java object from multiple data sources when data is not available in all sources during the creation time?
我有一个正在尝试解决的设计问题,如果您有任何建议,我希望能收到您的回复。
假设我们有一个你正在监听的队列,队列接收到一个消息,你应用中的监听器抓取它,并构建一个object,并推送到缓存中,此时object信息有它的数据仅从队列中收到,但它仍在waiting
other data sources
中not available
的其他数据(假设它是一个数据库),当数据在其他数据源中可用时,更新 object 的最佳方法是什么?
更新:评论里有朋友问我是不是把问题复杂化了,不是这样的,添加更多细节来解释为什么情况不简单,假设你有一个计划从A点开车到B点,所以你为您的旅行创建一个记录,但是要完成这个记录有一些依赖性,比如您正在等待朋友确认他的上车地点。 并且您正在等待收到您的付款支票,当您收到取件地点时,您将更新记录,稍后当您收到付款时。 您也将提前 go 并更新它。 希望通俗易懂地解释一下。
为了从其余来源获取数据,请将执行程序与Future结合使用。
如果您不熟悉期货,这里有一些教程:
您可以使用装饰器设计模式,但这通常是为了扩展对象的功能,而不是添加数据。
如果这些主要是纯 java 对象 (POJO),仅用于存储数据,我建议您在从其他数据源获取数据时使用设置添加数据。
如果有大量数据,按数据源划分是有意义的,你可以有一个外部 object 和内部对象,每个来自不同的源(构建器模式)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.