Это может быть давняя проблема, и я уверен, что у каждого свой путь.
Предположим, у меня определены некоторые свойства, такие как
secret.user.id=user
secret.password=password
website.url=http://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 и предоставить получатели для получения определенных свойств.
Так что приведенный выше код может выглядеть так:
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) - позвольте мне услышать некоторые комментарии?