Класс для инкапсуляции главных объектов

Уважаемое сообщество, у меня возникла следующая дилемма – у меня есть главный класс, который владеет рядом объектов: указателем на окошко, стэком указателей на состояния, контейнерами поддерживаемых шрифтов, настроек и прочего-прочего. В общем, множество различных штук.

Классы-состояния должны иметь ссылки на эти объекты из главного класса (получают их в конструкторе), чтобы тем или иным образом пользоваться ими. Но, так как этих объектов достаточно много и, при масштабировании программы, их кол-во может увеличиваться – конструкторы состояний раздуваются до внушительных масштабов. Было принято решение инкапсулировать все эти объекты в одном отдельном классе GeneralValues и назначить владение его экземпляром в главный класс.

Таким образом, в конструктор состояний можно просто передавать ссылку на объект класса GeneralValues, и через неё получать доступ ко всем объектам, что находятся в нём. И памяти это будет требовать меньше: вместо множества отдельных ссылок на объекты, которые находятся в пользовании, можно будет просто сделать одну ссылку на объект, в котором все эти остальные объекты собраны.

Вопрос: Правильное ли это будет решение? Есть ли в такой архитектуре какие-нибудь подводные камни?


Ответы (0 шт):