бы сделать какой-нибудь MultiHandler, который реализовывал бы интерфейс IHandler и при этом был каким-нибудь вектором одновременно(в данном случае вызывал методы log у всех объектов в векторе).
Я унаследовался от вектора, но, кажется, это может нарушать SRP, и лучше сделать с помощью композиции... Но, при этом, не хочется использовать какие-то конструкции типа multihandler.handlers.emplace_back(new sth(....)); или просто реализовывать методы в одну строку, где я вызываю методы вектора.
В какой-то момент, пока я размышлял, как лучше это сделать, то я подумал, что делать класс, который будет одновременно являться вектором и реализовывать IHandle — плохая идея.
А вопрос собственно в том, а уместно ли в данном случае наследование? А как бы вы сделали подобное?
https://pastebin.com/2Wr7aRKF
унаследовал бы вектор приватно и через юзинг вынес бы нужные методы в паблик секцию
ну или без выпендрёжа просто аггрегировал бы вектор и делегировал бы вызовы к нему
а если "нужные" это "все"?
значит это вектор и есть, тогда можно
вам этот мультихендлер нужно делать мутабельным или там "напихал при создании и забыл"?
По идее мутабельным
Обсуждают сегодня