Java 当客户';s字段同时从第三方web服务和应用程序中检索;s专用数据库

Java 当客户';s字段同时从第三方web服务和应用程序中检索;s专用数据库,java,design-patterns,persistence,dao,Java,Design Patterns,Persistence,Dao,我有一个客户课程。它的私有字段是一个CustomerDAO接口,例如myCustomer.getAge()调用该接口的数据库访问方法。CustomerDAO从应用程序的专用数据库检索数据 问题是,Customer的一些字段现在必须从第三方web服务中检索。逻辑上调用某个web服务不属于CustomerDAO(该服务用于与单个数据库通信,对吗?) 在这种情况下,行业推荐的方法是什么 我是否只需将另一个字段CustomerWebServiceDAO(作为接口)添加到Customer?我的Custom

我有一个
客户
课程。它的私有字段是一个
CustomerDAO
接口,例如
myCustomer.getAge()
调用该接口的数据库访问方法。CustomerDAO从应用程序的专用数据库检索数据

问题是,
Customer
的一些字段现在必须从第三方web服务中检索。逻辑上调用某个web服务不属于
CustomerDAO
(该服务用于与单个数据库通信,对吗?)

在这种情况下,行业推荐的方法是什么

我是否只需将另一个字段
CustomerWebServiceDAO
(作为接口)添加到
Customer
?我的
Customer
将在内部使用两个不同的实例(
CustomerDAO
CustomerWebServiceDAO
)。所以DAO被分成两个独立的类。。。如果下一步我需要访问另一个Web服务和一个附加数据库,该怎么办?可以使用什么更好的解决方案/模式


将web服务方法添加到最初的CustomerDAO界面会将数据库访问与web服务访问混为一谈,我认为这并不好。

如果我没有理解您的问题的话 您需要有一个数据库服务,该服务具有Customer的所有GRUD操作,并假定它将被称为CustomerDBDao,另一个名为customerapi dao的服务,负责所有web服务操作,并且在名为CustomerDAO的一般服务中调用所有服务 它从两个服务中填充数据并生成一个统一的POJO。这个概念称为适配器设计模式