Domain Object有一些属性需要调用外部服务才能获取怎样实现最优雅?举个例子例如OrderItem里的Product信息
可以使用延迟加载(lazy loading)的方式来实现最优雅的获取属性值的方式。具体来说,可以在OrderItem类中定义一个私有的Product属性,并在其getter方法中添加判断逻辑,如果该属性为null,则调用外部服务获取Product信息,并将其赋值给该属性。这样就可以避免在对象创建时就调用外部服务,提高了系统的性能和可扩展性。
另外,也可以使用缓存的方式来优化获取属性值的效率。例如,可以在系统启动时将Product信息缓存到内存中,当需要获取Product信息时,先从缓存中查找,如果不存在,则调用外部服务获取并放入缓存中,下次再次获取时就可以直接从缓存中获取,避免了频繁调用外部服务。
原文地址: https://www.cveoy.top/t/topic/fOJu 著作权归作者所有。请勿转载和采集!