gpt4 book ai didi

java - 存储 Java UI 应用程序配置/设置的最佳实践

转载 作者:行者123 更新时间:2023-12-02 08:04:18 24 4
gpt4 key购买 nike

我正在研究存储应用程序配置数据同时支持层次结构和动态加载的最佳方式。

数据示例:

  • 每列的位置(我们会显示很多表格)
  • 如何可视化每列或单元格中的数据(例如,某些列可能有不同的方式来显示相同​​的指标)
  • 数据格式(日期或数字)

层次结构意味着:

我的州有多个区,因此会有默认配置,但州可以覆盖部分(或全部)默认配置,区也可以覆盖部分州配置。

动态加载意味着:

能够动态加载和应用新配置,无需重新启动服务器,甚至不需要用户登录。

配置存储格式(可以是文件或DB):

  • XML – 这就是我过去使用的
  • JSON - 因此我可以从配置文件或数据库读取 JSON,并将其作为应用程序内存中的对象
  • 键值对
  • 其他格式?

您对这个主题有什么想法/知识?

谢谢!

最佳答案

很久以前我写过一些类似的东西。它的目的不是分层的。它依赖于每个组件都有一个独特且合理的名称。这是在 XML 和 JSON 流行之前,所以我只使用 Properties。

本质上,您从顶部窗口开始,查看它的所有组件,然后根据它的类型(很多实例)调用一个方法(现在您可以给它一个更奇特的名称,例如“Marshaller”:-) )写出用户可能更改并想要恢复的相关信息。递归应用。你会得到类似的东西:

MainFrame.background=#FFFFFF
MainFrame.bounds=200,100,400,500
...
MainFrame.Divider.x=122
...
MainFrame.DataPanel.DataTable.Columns.1.x=423
MainFrame.DataPanel.DataTable.Columns.1.width=22
MainFrame.DataPanel.DataTable.Columns.1.sortedby=Name

您可能会欺骗它是分层的,但现在最好使用 XML 或 JSON。但基本概念可能适用。您可以使用 DIP 或其他东西来确定正确的 Marshaller。

也许这会给你一些想法。也许没有一个标准的方法。令我惊讶的是,没有人回复“哦,是的,使用 Apache 这个或 Guava 那或 JGoodies”等。

关于java - 存储 Java UI 应用程序配置/设置的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8407373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com