170 похожих чатов

Вот у меня есть класс IHandler, который интерфейс. Очень хотелось

бы сделать какой-нибудь MultiHandler, который реализовывал бы интерфейс IHandler и при этом был каким-нибудь вектором одновременно(в данном случае вызывал методы log у всех объектов в векторе).

Я унаследовался от вектора, но, кажется, это может нарушать SRP, и лучше сделать с помощью композиции... Но, при этом, не хочется использовать какие-то конструкции типа multihandler.handlers.emplace_back(new sth(....)); или просто реализовывать методы в одну строку, где я вызываю методы вектора.

В какой-то момент, пока я размышлял, как лучше это сделать, то я подумал, что делать класс, который будет одновременно являться вектором и реализовывать IHandle — плохая идея.

А вопрос собственно в том, а уместно ли в данном случае наследование? А как бы вы сделали подобное?
https://pastebin.com/2Wr7aRKF

6 ответов

6 просмотров

унаследовал бы вектор приватно и через юзинг вынес бы нужные методы в паблик секцию

olkivan
унаследовал бы вектор приватно и через юзинг вынес...

ну или без выпендрёжа просто аггрегировал бы вектор и делегировал бы вызовы к нему

Гражданин Котейко
а если "нужные" это "все"?

значит это вектор и есть, тогда можно

вам этот мультихендлер нужно делать мутабельным или там "напихал при создании и забыл"?

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
23
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Комрады, подскажите, в дельфях есть компоненты а-ля TDirectorySelect?
Ed Doc
15
Карта сайта