Скажем, у меня есть класс, предназначенный для выполнения одной функции. После выполнения функции ее можно уничтожить. Есть ли основания предпочитать один из этих подходов?
// Initialize arguments in constructor
MyClass myObject = new MyClass(arg1, arg2, arg3);
myObject.myMethod();
// Pass arguments to method
MyClass myObject = new MyClass();
myObject.myMethod(arg1, arg2, arg3);
// Pass arguments to static method
MyClass.myMethod(arg1, arg2, arg3);
Я намеренно размышлял о деталях, пытаясь найти рекомендации для разных ситуаций. Но я не имел в виду простые библиотечные функции, такие как Math.random (). Я думаю больше о классах, которые выполняют какую-то конкретную, сложную задачу, но для этого требуется только один (публичный) метод.