繁体   English   中英

如何在Java中设计和接口(OOP类型),以便我可以使用直接数据库访问或使用Web服务?

[英]How do I Design and Interface (OOP kind) in Java so that I can either use direct database access or use web services?

目前我必须查询我不拥有的具有Web服务的数据库,因此他们提供的是我得到的。 由于这是内部的(有点),我可能会在将来获得直接访问权限,以便我可以在查询中获得更好的数据。

我不想一次又一次地写一切。 如果我在Java中这样做,我会编写一个接口(编程类型,想想Implements Interface,OOP)? 我该怎么做? 或者我只是写一个全新的类并“插入它”。

这只是一个常规的客户端/服务器架构。 Http请求,服务器调用servlet或jsp,返回数据。

我不确定我的想法是否是正确的设计。

绝对听起来你应该在这里使用具有不同实现的接口。 就像是:

public interface DataAccess {
    Data getData();
}

然后,您可以针对此API进行编码,并根据需要插入/注入不同的实现。 所以你可以这样:

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接口,您就已成功将客户端与服务分离。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM