Допустим, у меня есть статический метод, называемый Logger.log (), который вызывает другой статический метод, CurrentUser.getName (), чтобы получить дополнительную информацию для регистрации:
public static void log(text) {
String[] itemsToLog = { text, todaysDate, ipAddress, CurrentUser.getName() };
Теперь, очевидно, это не идеальная ситуация, особенно со статическими данными в классе CurrentUser. Но я хочу начать улучшать его, уменьшив зависимости Logger. Я бы предпочел, чтобы Logger не обладал знаниями о понятиях более высокого уровня, таких как пользователи. Ему просто нужен список вещей для входа, и ему все равно, какие они есть.
Итак, я хочу как-то выделить класс CurrentUser. Но Logger статичен, поэтому я не могу просто передать информацию в его конструктор.
Какой будет хороший пример для разложения таких вещей?