Наиболее красивый и правильный способ передачи параметров сквозь другой класс? Приветствую!
Частенько сталкиваюсь с тем, что например:
Есть класс, например CamsList, где соответственно идёт работа со списком камер (добавление,изменение, удаление и тд)
есть другой класс, например Cam - сам объект камеры.
Допустим самой камере для работы нужен общий класс для всех камер OutputBuffer (Который нафиг не нужен CamsList).
Т.е. у меня получается либо по указателю пробрасывать класс через CamsList и в дальнейшем при создании в нём новой камеры в её конструкторе указывать этот указатель, либо использовать синглтон.
Ни то, ни то не нравится. Какие есть ещё способы, как бы вы поступили?

21 Авг 2019 в 07:03
231 +1
1
Ответы
1

Может быть стоит рассмотреть возможность использования шаблона наблюдателя (Observer pattern) в данной ситуации. В этом случае вы можете создать класс, который будет наблюдать за объектами камеры и реагировать на изменения в них. OutputBuffer может быть подписчиком на эти изменения и получать необходимую информацию без необходимости передачи через другие классы.

Еще одним вариантом может быть использование внедрения зависимостей (dependency injection). Вы можете передать объект класса OutputBuffer в конструктор класса Cam при его создании, чтобы он мог использовать его в своей работе.

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

20 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир