目前我必须查询我不拥有的具有网络服务的数据库,所以他们提供的就是我得到的。由于这是在内部(某种程度上),我将来可能能够直接访问,以便我可以在查询中获得更好的数据。
我不想一遍又一遍地写所有内容。如果我在 Java 中这样做,我会编写一个接口(interface)(编程类型,想想实现接口(interface),OOP)吗?我该怎么做?或者我只是编写一个全新的类并“将其插入”。
这只是一个常规的客户端/服务器架构。 http请求,服务器调用servlet或jsp,返回数据。
我不确定我的想法是否是正确的设计。
最佳答案
听起来您确实应该在此处使用具有不同实现的接口(interface)。像这样的东西:
public interface DataAccess {
Data getData();
}
然后您可以针对此 API 进行编码,并根据需要插入/注入(inject)不同的实现。所以你可以这样:
public class DirectDataAccess implements DataAccess {
public Data getData() {
//use JDBC, ORM, or similar
}
}
或者这个:
public class WebServiceDataAccess implements DataAccess {
public Data getData() {
//call web service
}
}
但只要您的客户端代码仅引用 DataAccess
接口(interface),那么您就已成功将客户端与服务解耦。
关于java - 如何在 Java 中设计和接口(interface)(OOP 类型),以便我可以使用直接数据库访问或使用 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18106392/