Есть ли соглашение о хранении методов, не связанных конкретно с каким-либо классом?[Джава] - PullRequest
0 голосов
/ 30 мая 2018

В настоящее время я изучаю Java и, создавая проект, я создал несколько методов, которые логически не подходят ни для какого конкретного класса, но полезны во всем контексте проекта.

Лучший пример, который у меня естьэто метод, который разделяет миры camelCase следующим образом:

  • splitCamelCase -> Split Camel Case.

Я думал о создании нового абстрактного класса под названием Toolbox и сохранении этих методовтам, но мне интересно, есть ли какие-либо соглашения или лучшие практики по этой теме.

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

Нередко есть вспомогательные классы (обычно называемые SomethingUtils), когда просто нет смысла помещать метод в существующий класс.

В этом нет ничего плохого, но если выесли у вас много методов или служебных классов, тогда ваш дизайн может быть немного неэффективным, и вы программируете более процедурно, чем объектно-ориентированным способом.

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

0 голосов
/ 30 мая 2018

Как сказал сэр Каяман, если у вас слишком много служебных классов и методов, это означает, что ваш код более процедурный, нежели объектно-ориентированный.

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

Один из лучших примеров такого класса - java.lang.Math.

например, следующий код будет работать

class MyUtilityClass
{

private MyUtilityClass()
{
// no object creation will be allowed
}

// make as many static methods you want 


}
0 голосов
/ 30 мая 2018

Вы можете создать свой ToolBox Class и затем объявить его как пакет.После этого вы можете импортировать свой ToolBox в начале классов, в которых вы хотите использовать методы этого ToolBox.

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