TGViewer
Грамота от Кузьмича Грамота от Кузьмича @java_ot_kuzmicha · 208 subscribers
Post #48 452
В детстве ты наверняка собирал вкладыши из жвачки, типа турбо или love is. Или играл в настолки где можно собрать себе колоду карт самых мощных и дерзких персонажей.

Но ура - теперь ты взрослый! Пришло время собрать колоду дерзких паттернов проектирования😄 Ими тоже можно играть, просто временами будет не так весело🥲

Начну серию постов и выложу первую карту - 6♦️ - паттерн Utility-класс.

🛠Utility-класс - это класс который содержит набор статических методов. Создание объектов такого класса запрещено.

🎯Задача такого класса - сгруппировать в кучку методы которые делают что-то общее, например работают с файлами, или парсят строки во что-то более осмысленное, или генерят случайные значения. Одного поля ягоды короче. Такой класс - это типа ящика для инструментов где лежат методы молоток(), гаечный ключ() и пила().

🗒Правила создания Utility-класса:
- private конструктор для невозможности создания объектов класса
- только статические методы
- нет состояния (нестатических полей)
- класс помечен как final
- минимум переменных класса, т.е. static-полей (лучше делать их константами через final)

Либо можно этот талмуд правил заменить одной аннотацией библиотеки lombok - проставить @UtilityClass над классом - и все нужные модификаторы волшебным образом прибегут в твой класс.

Ты стопроц уже сталкивался с такими классами. Их примеры из родного JDK:
java.lang.Math
java.util.Arrays
java.util.Objects
java.nio.file.Files
java.util.Collections

А еще вот эти библиотечные ребята (они следуют _почти_ всем правилам Utility-класса - за исключением отсутствия приватного конструктора):
org.testng.Assert
org.junit.jupiter.api.Assertions
org.assertj.core.api.Assertions


P.S. Кстати, у меня часто было такое что я сначала писал код, а потом узнавал что это оказывается "паттерн"😄 т.е. приходил к правильной структуре кода интуитивно. А ты пользуешься паттерном Utility у себя в коде? Поделись в комментах - что делает твой Utility-класс.

#колода_паттернов #паттерн #java
  • 👍 7
  • 🔥 4
  • ❤ 1
More from @java_ot_kuzmicha
  1. Jul 28, 2026Добавляю краски в музыку🟥🟨🟦🟧🟩 Пришла мне тут шальная мысль - что если каждый альбом к…
  2. Dec 10, 2025Более жизовые итоги чем эти ваши я.музыка или спотифаи. Кстати, че бы еще вы добавили в та…
  3. Nov 24, 2025уже пора?🤔 тренды все-таки
  4. Nov 19, 20253 из 25 - это не про лото и не про биатлон. Для тех кто пропустил релиз Java 25 - смотрим…
  5. Nov 1, 2025в рабочую субботу законодательно запрещены посты на серьезные темы. поэтому вот вам веселы…
  6. Oct 9, 2025Достал такое из почтового ящика. Скажите, кто вызывал таких мастеров - а с деплоем в прод…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →