0

我正在尝试使用 Spring MVC、XMLBeans 和通常的 Java EE 堆栈来增强现有的 Java Web 应用程序。最终用户在各种列表(对象列表)上执行 CRUD 操作。该列表最终使用 XMLBeans 保存到一个 XML 文件中。更新后的列表再次使用 XMLBeans 从 XML 文件中拉回并显示给用户。是否有合适的设计模式来优化这些操作?

我打算将列表中每个项目的随机 ID 存储到 XML 中,并将其用作 html 表单隐藏字段来识别当前为 CRUD 修改了哪个列表元素。有什么更好的方法吗?由于数据最终存储到 XML 中,因此没有默认 ID(如在数据库中),因此我正在考虑随机生成一个 ID 并使用它进行跟踪。是否有解决此用例的设计模式?

我还试图找出一种方法来跟踪 CRUD 操作是否成功。这样最终用户可以知道请求是否通过。也许是回调消息?

4

1 回答 1

1

就模式使用而言,我假设您的前端通过使用漂亮的 POJO、DTO 等(参考http://www.oracle.com/technetwork/java/dataaccessobject -138824.html )。这样,您将来可以更改为任何其他持久性机制,而不会影响您的客户端。然后,您的 MVC 控制器将以通常的方式提供 POJO 或其某种表示。

关于ID创建,我的观点是不要使用随机数,主要是因为可能会产生重复的密钥。我个人倾向于更确定性的东西,例如长计数或时间戳。您没有提到后端的体系结构,因此仍有可能产生重复的密钥,但稍加注意可以将其最小化。

关于向最终用户说明操作的成功/失败,我不确定是否有足够的信息来给出明确的答案。这可能取决于最终用户的期望。如果最终用户是信息的软件消费者,他们将期望创建时的 ID 集和更新/删除时的成功指示。如果它是一个活生生的人,那么你会想要在这里做一些交互设计。例如,如果用户真的进行 CRUD 操作,那么他们很可能希望看到生成的 ID 以及保存的数据的内容;但如果事情比这更抽象,从视觉角度来看,前端页眉/页脚中的简单“成功”消息可能就足够了。这可能在技术上采用回调的形式(例如 AJAX/jQuery),或者它可能只是一个呈现结果的 JSP,或者两者的组合。

于 2012-12-26T22:15:22.107 回答