Самый распространенный способ - создать ' константы ' в классах, где они вам нужны:
class Example {
private static final int FILENAME = "test.txt;
}
Вместо личного он также может быть объявлен по умолчанию , защищенным или общедоступным. Несмотря на то, что OO anti pattern считается определением констант, это специальный класс 'constants' ( God ), который хранит константы для всего приложения. Кроме того, вы также можете сохранить данные конфигурации в файле свойств Java , это не считается антишаблоном.
Другим вариантом, который быстро набирает популярность, является использование шаблона Dependency Inject (DI). Часто этот шаблон используется для зависимого объекта, но его также можно использовать для введения постоянных значений в объекты. Это может быть реализовано, например, с помощью облегченной Guice DI Framework от Google:
class Example {
String filename;
@Inject
public Example(@ConfigFilename String filename) {
this.filename = filename;
}
В специальном Binder классе вы свяжете значение со строками, аннотированными @ConfigFilename. Таким образом, у вас будет минимальное сцепление и классы, которые можно протестировать независимо.