Утиліта - це клас загального користування "листовий вузол". Тобто, він не має ніяких залежностей у вашому проекті, і його можна переносити з проекту на проект, не руйнуючись і не стаючи марним. Приклади: Vector3, RandomNumberGenerator, StringMatcher, і т.д. ...
"Помічником", здається, є будь-який клас, дизайн якого допомагає іншому класу. Вони можуть або не залежати від вашого проекту. Якщо ви створюєте GameNetworkClientклас, можна сказати, що GameNetworkConnectionклас є "помічником", оскільки він "допомагає" GameNetworkClient.
Те, як розробники посилаються на інструменти, відображає загальне використання цих слів. Якщо ви можете згадати слухові інструменти, описані як "корисні" проти "корисні", корисний інструмент має певний контекст (терка сиру допомагає натерти сир, зачистка кукурудзи допомагає зачистити кукурудзу, швидкий навантажувач допомагає перезарядити вогнепальну зброю). Очікується, що "утиліта" працюватиме в різних контекстах (WD-40, клейка стрічка, армійські ножі, клей, ліхтарик тощо).
Utilsдля статичного класу, який можна використовувати в будь-якій точці організації або в іншій організації.HelperКлас має загальний код , який може бути повторно використовуватися в рамках проекту , та має залежності в рамках проекту. Звичайно, загальноприйнятого правила немає, але я вважаю це корисним.