Можно ли инициализировать класс util перед использованием его методов? - PullRequest
3 голосов
/ 11 июля 2019

Запах дизайна, если мне нужно вызвать метод init класса util, прежде чем я смогу использовать его методы?Является ли следующий код плохим дизайном для класса util?

public class MyUtils {
    private static MyObject myObject;

    public static void init(MyObject testObject) {
        myObject = testObject;
    }

    public static void closePDFWindow(String myString) {
        myObject.displaySomthing(myString);
    }
}

1 Ответ

1 голос
/ 11 июля 2019

Это можно было бы назвать «временной связью», поскольку между этими двумя методами существует неявная связь, вам нужно вызвать первый, а затем второй.

Таким образом, вы можете избежать этого, используя "StaticБлоки инициализации " и фабричный класс, который инициализирует" testObject "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...