我计划使用使用JDO作为数据库的RMI编写应用程序。我正在考虑使用相同的类,并编译RMI存根并增强它们以便与JDO一起使用。因此,客户端使用存储在数据库中的相同对象与服务器通信。这可能吗?
答案 0 :(得分:0)
我之前没有使用过JDO,但如果我开始使用JDO,我会将这些细节告知客户端。
客户端不应该关心它请求的对象来自何处或如何来自。这允许您定义允许客户端与之交互的接口(或接口),但允许您根据需要自由实现。
将客户端暴露给细节的问题意味着以后转移到不同的实现很困难(如果不是不可能的话)。
在我看来,我会像对待任何其他远程API(例如Web RPC)那样对待它,在那里你有一系列定义良好的接口,允许客户端与服务器交互,但保留详细信息该交互如何在服务器端实际工作。
这将责任区域分开,如果你设计得好,意味着如果你将来需要更改服务器模型,它对客户端几乎没有影响,因为你有一个明确定义的合同,你可以通过
工作所以我的回答是,是的,可以做到,但不,客户应该对它是如何完成一无所知
IMHO
答案 1 :(得分:0)
如果确保在通过RMI序列化之前分离JDO,这应该有效。见http://db.apache.org/jdo/attach_detach.html