0

我计划使用 RMI 编写一个使用 JDO 作为数据库的应用程序。我正在考虑采用相同的类并编译 RMI 存根并增强它们以与 JDO 一起使用。因此,客户端使用存储在数据库中的相同对象与服务器通信。这可能吗?

4

2 回答 2

0

如果您确保在它们通过 RMI 序列化之前分离 JDO,这应该可以工作。见http://db.apache.org/jdo/attach_detach.html

于 2013-07-29T19:30:43.890 回答
0

我以前没有使用过 JDO,但如果我在设计它,我会让客户不知道这些细节。

客户端不应该关心它请求的对象来自何处或如何来。这允许您定义客户端将被允许与之交互的接口(或多个接口),但您可以自由地按照您认为合适的方式实现。

将客户暴露在细节中的问题意味着以后很难(如果不是不可能的话)移动到不同的实现。

在我看来,我会像对待任何其他远程 API(例如 Web RPC)一样对待它,其中您有一系列定义明确的接口,允许客户端与服务器交互,但保留交互方式的详细信息实际上在服务器端工作。

这将职责区分开来,如果您设计得好,则意味着如果您将来需要更改服务器模型,它应该对客户端几乎没有影响,因为您有一个可以通过的明确定义的合同

所以我的回答是,是的,它可以完成,但不,客户应该对它是如何完成的一无所知

恕我直言

于 2013-07-29T00:10:10.370 回答