Вспомогательный класс

В объектно-ориентированном программировании вспомогательный класс используется для предоставления некоторой функциональности, которая не является основной целью приложения или класса, в котором он используется. [1] [2] Экземпляр вспомогательного класса называется вспомогательным объектом (например, в шаблоне делегирования ).

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

Класс утилиты — это особый случай вспомогательного класса, в котором все методы являются статическими. [3] В общем случае вспомогательные классы не обязаны иметь все статические методы, но могут иметь переменные экземпляра. Также могут существовать несколько экземпляров вспомогательного класса.

Пример

Это также пример класса утилиты. Ниже приведены методы расширения для объекта строки.

public static class PrependHelper { // статические функции public static string MeowPrepend ( this string text ) { return $"Meow meow {text}!" ; }               public static string WoofPrepend ( this string text ) { return $"Woof woof {text}!" ; }          public static string WoohPrepend ( эта строка text ) { return $"Wooh {text}!" ; } }         

Альтернатива вспомогательному классу

Функции, которые будут вспомогательными классами, можно разместить близко к месту их использования. Другой альтернативой является обертывание параметров вспомогательного класса в класс как поле. Этот класс может иметь имя из бизнес-домена, связанного с имеющимися у него полями. В примере ниже показано, как преобразовать вспомогательные методы в методы на типах домена:

открытый класс Текст { string text ;     public string MeowPrepend () { return $"Мяу мяу {текст}!" ; }       public string WoofPrepend () { return $"Гав-гав {текст}!" ; }       public string WoohPrepend () { return $"Wooh {text}!" ; } }      

Ссылки

  1. ^ Ти, Сим Хуэй (2009-12-03). «Устранение избыточности методов для улучшения дизайна внутренних классов». ACM SIGSOFT Software Engineering Notes . 34 (6): 1–3. doi :10.1145/1640162.1640174. ISSN  0163-5948.
  2. ^ "Что такое помощник? Это шаблон проектирования? Это алгоритм?". Software Engineering Stack Exchange . Получено 2023-10-31 .
  3. ^ "Java Helper vs. Utility Classes | Baeldung". Baeldung . 28 апреля 2023 г. . Получено 31 октября 2023 г. .

Смотрите также

Взято с "https://en.wikipedia.org/w/index.php?title=Helper_class&oldid=1212981964"