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