微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java属性 – 要公开还是不公开?

这可能是一个古老的问题,我相信每个人都有自己的方式.
假设我定义了一些属性,例如

secret.user.id=user
secret.password=password
website.url=https://stackoverflow.com

假设我有100个不同的类和位置,我需要使用这些属性.
一个
(1)我创建了一个Util类,它将加载所有属性并使用键常量为它们提供服务
如 :
Util是一个单例,可以加载所有属性并保持getInstance()调用.

Util myUtil = Util.getInstance();
String user = myUtil.getConfigByKey(Constants.SECRET_USER_ID);
String password = myUtil.getConfigByKey(Constants.SECRET_PASSWORD);
..
//getConfigByKey() - inturns invokes properties.get(..)
doSomething(user,password)

所以,无论我需要这些属性,我都可以采取以上措施.

(2)我创建了一个有意义的类来表示这些属性;说,
ApplicationConfig并提供getter以获取特定属性.
所以上面的代码可能如下所示:

ApplicationConfig config = ApplicationConfig.getInstance();
doSomething(config.getSecretUserId(),config.getpassword());
//ApplicationConfig would have instance variables that are initialized during
// getInstance() after loading from properties file.

注意:这样的属性文件将来只会有一些细微的变化.

我个人的选择是(2) – 让我听一些评论

最佳答案
我发现第一种方法比必要的更冗长. (特别是如果预期属性不会发生很大变化.)此外,通过使用第二种方法,您可以在加载属性时处理转换/类型问题,而不是在使用它们时.

原文地址:https://www.jb51.cc/java/437640.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐