Вспомогательный класс
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2023 г. ) |
В объектно-ориентированном программировании вспомогательный класс используется для оказания помощи в обеспечении некоторой функциональности, которая не является основной целью приложения или класса, в котором он используется. [1] [2] Экземпляр вспомогательного класса называется вспомогательным объектом (например, в шаблоне делегирования ).
Вспомогательные классы часто создаются на вводных уроках программирования после того, как начинающий программист уже не ограничивается созданием одного или двух классов.
Вспомогательный класс — это частный случай вспомогательного класса, в котором все методы являются статическими. [3] В общем, вспомогательные классы не обязательно должны иметь все статические методы, но могут иметь переменные экземпляра. Также может существовать несколько экземпляров вспомогательного класса.
Пример
[ редактировать ]Это также пример служебного класса . Ниже приведены методы расширения строкового объекта.
public static class PrependHelper
{
// static functions
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(this string text)
{
return $"Wooh {text}!";
}
}
Альтернатива вспомогательному классу
[ редактировать ]Функции, которые будут вспомогательными классами, можно разместить рядом с местом их использования. Другой альтернативой является перенос параметров вспомогательного класса в класс в виде поля. Этот класс может иметь имя из бизнес-домена, связанное с имеющимися у него полями. В примере ниже показано, как преобразовать вспомогательные методы в методы типов домена:
public class Text
{
string text;
public string MeowPrepend()
{
return $"Meow meow {text}!";
}
public string WoofPrepend()
{
return $"Woof woof {text}!";
}
public string WoohPrepend()
{
return $"Wooh {text}!";
}
}
Ссылки
[ редактировать ]- ^ Ти, Сим Хуэй (3 декабря 2009 г.). «Устранение избыточности методов для улучшения дизайна внутреннего класса» . Заметки по разработке программного обеспечения ACM SIGSOFT . 34 (6): 1–3. дои : 10.1145/1640162.1640174 . ISSN 0163-5948 .
- ^ «Что такое помощник? Это шаблон проектирования? Это алгоритм?» . Обмен стеками программной инженерии . Проверено 31 октября 2023 г.
- ^ «Помощник Java против служебных классов | Baeldung» . Баелдунг . 28 апреля 2023 г. . Проверено 31 октября 2023 г.