LINUX.ORG.RU

История изменений

Исправление tailgunner, (текущая версия) :

Я имел в виду, что если main должен обладать лишним знанием о компоненте, то это потенциальные проблемы с изоляцией

Почему «лишним»? Он просто вызывает конструктор и передает туда поддерево. Но это и всё.

Пока компонентов два-три, усложнять дейсnвительно смысла нет. Но когда больше, main просто засрется (IMHO).

Если компонентов много, делается отдельная функция (функции) конструирования приложения.

Например они могут знать строку «path.to.my.leaf», заправлять ее в класс конфига и получать данные.

То есть все компоненты получают ссылку на весь конфиг, а используют только его часть. Вот это - отсутствие изоляции.

Исходная версия tailgunner, :

Я имел в виду, что если main должен обладать лишним знанием о компоненте, то это потенциальные проблемы с изоляцией

Почему «лишним»? Он просто вызывает конструктор и передает туда поддерево. Но это и всё.

Пока компонентов два-три, усложнять дейсnвительно смысла нет. Но когда больше, main просто засрется (IMHO).

Если компонентов много, делается отдельная функция (функции) контруирования приложения.

Например они могут знать строку «path.to.my.leaf», заправлять ее в класс конфига и получать данные.

То есть все компоненты получают ссылку на весь конфиг, а используют только его часть. Вот это - отсутствие изоляции.