Привет всем!
Возможно, я не в тот форум пишу, но модераторы разберутся, если что. Возникла некоторая путаница у меня в голове в этих двух понятиях. Я всегда думала, что Helpers — это классы,
которых кто-то использует, а Wrappers — это класс-обертка, который внутри вызывает методы какого-то другого класса, т. е.
который использует кого-то другого.
Так вот — мой один знакомый пишет классы, которые вызывают только public-методы какого-то другого класса, например (пример крайне утрирован, но идея такая), и называет эти классы Helper, а не Wrapper:
class List
{
public:
bool Add(какой-то тип элемента);
...
private:
...
};
class ListHelper
{
public:
bool AddRange(что-то там передается в виде диапазона);
};
bool ListHelper::AddRange(что-то там передается в виде диапазона)
{
// Вызывает внутри Add
}
Кстати, вот какой перевод одного из понятий дает Яндекс.Словари:
wrapper class
C++
интерфейсный класс (класс, назначение которого состоит в обеспечении альтернативного интерфейса объектов другого класса)
Вопрос — правильно ли называть такой класс Helper?
Здравствуйте, XJess, Вы писали:
XJ>Привет всем!
XJ>Возможно, я не в тот форум пишу, но модераторы разберутся, если что. Возникла некоторая путаница у меня в голове в этих двух понятиях. Я всегда думала, что Helpers — это классы, которых кто-то использует, а Wrappers — это класс-обертка, который внутри вызывает методы какого-то другого класса, т. е. который использует кого-то другого.
У нас в текущем проекте есть договорённость называть хелперами вспомогательные изолированные классы, представляющие собой набор статических методов для решения каких-то схожих сложных задач (например, TwoDimensionGeometryHelper). Цель — абстрагирование от понятийной базы проекта и удобство написания юнит-тестов.
Но в последнее время стараемся избегать использования суффикса "Helper" и вместо него придумывать более говорящие слова.