Подключение модулей в приложении - PullRequest
1 голос
/ 03 мая 2009

Работая над своими хобби-проектами, я разделял код на фоновые операции и операции с графическим интерфейсом. Таким образом, я получаю библиотечные объекты, которые выполняют реальную работу, и объекты графического интерфейса, которые представляют меню, фреймы и тому подобное. Каждый раз меня беспокоит то, что у меня много объектов, которые нужно знать о других объектах. Например, объект панели инструментов должен знать о мэйнфрейме, а главное меню должно знать как о фрейме, так и о панели инструментов, поэтому в итоге я передаю ссылки на множество объектов через конструкторы. Пока он работает, я не могу представить Windows или код Дарвина, передающий 100 ссылок на другие компоненты.

Итак, мой вопрос: каков предпочтительный способ сохранения объектов без передачи множества ссылок друг на друга?

1 Ответ

1 голос
/ 03 мая 2009

Разделение проблем : сделать так, чтобы на каждый объект была только одна ответственность.

Цель здесь - убедиться, что каждый объект имеет минимальную функциональность и сделать это хорошо. Затем составьте вашу систему с вашими объектами. Таким образом, вы получаете систему с крошечными классами, которые являются составными частями больших классов, которые «управляют» частями вашей системы и взаимодействуют друг с другом. Зависимости между этими классами тогда просты.

Я уверен, что здесь не совсем ясно, вы должны попытаться взглянуть на то, как организованы некоторые большие и сложные объектно-ориентированные библиотеки (например, Огр , если вы заинтересованы в 3D в реальном времени рендеринг).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...